使用 NTLM 时 cURL 始终返回 401
我正在开发一个使用 PHP 与 Microsoft Exchange 进行通信的库。在我的生产服务器上一切正常,但我在开发计算机上不断收到 401 Unauthorized 错误。我尝试从命令行使用curl,得到了相同的结果。
使用以下命令在我的机器上返回“401”:
curl https://mail.example.com/EWS/Exchange.asmx -w %{http_code} --ntlm -u username:password
同样的调用在我的生产机器上返回“302”,这正是我所期望的。
我的开发机器使用的是curl 7.19.7,我的生产机器使用的是curl 7.18.0。
I'm working on a library to communicate with Microsoft Exchange using PHP. Everything works fine on my production servers, but I keep getting a 401 Unauthorized on my development machine. I tried using curl from the command line and I get the same results.
Using the following returns "401" on my machine:
curl https://mail.example.com/EWS/Exchange.asmx -w %{http_code} --ntlm -u username:password
The same exact call returns "302" on my production machines, which is what I expect.
My development machine is using curl 7.19.7 and my production machine is using curl 7.18.0.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个老问题,但如果它最终可以帮助任何人,我想我会发布一个答案。
在某些最新版本的 Ubuntu(我相信是 10.04 及更高版本)上,NTLM 和curl 存在错误。
如果您在 ubuntu 上使用 PHP 的curl 模块,并且您的 libcurl 版本受此错误影响,这可以解释为什么您的身份验证请求失败。
如果将详细标志添加到命令 (-v),您应该在响应部分看到类似以下内容:
如果您确实看到此内容,则表明您'受到该错误的影响,您将不得不降级您的库或寻找另一台机器。
我希望这有帮助:P
This is an old question but if it can eventually help anybody, I figured I'd post an answer.
There's a bug with NTLM and curl on certain recent version of Ubuntu (10.04 and up I believe).
If you're using the curl module of PHP on ubuntu and your libcurl version is affected by this bug, this could explain why your authentication requests are failing.
If you add the verbose flag to your command (-v), you should see something like this in the response part:
If you do see this, you're affected by the bug and you'll have to either downgrade your library or find another machine.
I hope this helps :P
对于所有 Centos / RHEL 6.X 用户,请查看:
https://bugzilla。 redhat.com/show_bug.cgi?id=953864
For all Centos / RHEL 6.X Users please take a look into:
https://bugzilla.redhat.com/show_bug.cgi?id=953864