我有一个关于使用curl进行HTTP Digest Auth并同时发送发布数据的问题。
我有一个 REST API,其中的每个资源都需要身份验证。我使用 php curl 从我的网站访问我的资源。每个资源都需要使用摘要进行身份验证。
我为此使用了 CURLAUTH_DIGEST,它通常非常有效。
问题是当我尝试使用 CURLOPT_POSTFIELDS 在 POST 中发送附加数据时,该数据不会与摘要身份验证信息一起发送。 这是为什么呢?我该如何解决这个问题?
我正在使用 PHP 5.4.3 和 php curl 7.25.0
最佳答案
摘要式认证与 POST
结合起来绝对没有问题请求。
请务必仔细检查您是否应该这样做:
- 基本
POST
(相当于-X POST -d 'body-content-here'
与curl
CLI), - 或
multipart POST
(例如-F image_file=@"foo.jpg"
上传给定文件)。
我强烈建议您通过 curl
与您的 API 进行交互命令行工具并使用--libcurl request.c
:它会将用于执行请求的所有选项的方便回顾写入此输出 C 文件,然后您只需复制/调整它们即可。
最后,欢迎引用这个PHP code sample这说明了如何执行此类调用。
关于php - 使用 Digest Auth 并通过curl 发送 POST 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12948340/