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标志.

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...