rest – curl通过经过身份验证的代理和经过身份验证的http资源

前端之家收集整理的这篇文章主要介绍了rest – curl通过经过身份验证的代理和经过身份验证的http资源前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想用oneliner做一个帖子(本例中是twitter).

如果我没有代理

curl -u user:pass -d status="message" http://twitter.com/statuses/update.xml

工作得很好.

但是,当我在经过身份验证的代理服务器后面时却没有.

我试过了:

curl -X proxy:port -U proxyUser:proxyPass -u user:pass -d status="message" http://twitter.com/statuses/update.xml

它让我跳了起来

proxy do not support basic auth

所以你知道我做错了什么吗?

提前致谢.

解决方法

Cababunga的答案是正确的,但他们错过了另一种选择: – proxy-ntlm.某些代理不会使用–proxy-anyauth正确授权,因此理想情况下,您需要指定代理使用的身份验证方法.如果你运行curl -v -U user:pass -x proxy:port –url http://www.google.com,你应该得到以下内容

>关于connect()到代理[your proxy] port [your port](#0)
>尝试[IP] ……
>连接
>连接到[您的代理]([IP])端口[您的端口](#0)
>建立到www.google.com:443的HTTP代理隧道
>使用Basic与用户'[user]’进行代理验证
> CONNECT www.google.com:443 HTTP / 1.1
>主持人:www.google.com:443
>代理授权:基本[乱码]
> User-Agent:curl / [ver]([OS])libcurl / [ver] OpenSSL / [ver] zlib / [ver]
>代理连接:保持活跃
> HTTP / 1.1 407需要代理身份验证
>代理 – 身份验证:NEGOTIATE
>代理 – 身份验证:NTLM

为您在Proxy-Authenticate参数中看到的任何内容添加标记,您应该很高兴.在此示例中,您将添加–proxy-ntlm标志.

原文链接:https://www.f2er.com/linux/394646.html

猜你在找的Linux相关文章