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

标签 rest curl

我想用 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's answer is correct ,但他们缺少另一个选项:--proxy-ntlm .某些代理无法通过 --proxy-anyauth 正确授权,因此理想情况下,您需要指定代理使用的身份验证方法。如果您运行 curl -v -U user:pass -x proxy:port --url http://www.google.com ,您应该得到以下内容:

  • 即将连接()到代理 [您的代理] 端口 [您的端口] (#0)
  • 正在尝试 [IP]...
  • 已连接
  • 连接到 [您的代理] ([IP]) 端口 [您的端口] (#0)
  • 建立到 www.google.com:443
  • 的 HTTP 代理隧道
  • 使用 Basic 和用户“[user]”进行代理身份验证
  • 连接 www.google.com:443 HTTP/1.1
  • 主持人:www.google.com:443
  • 代理授权:基本 [胡言乱语]
  • 用户代理:curl/[ver] ([OS]) libcurl/[ver] OpenSSL/[ver] zlib/[ver]
  • 代理连接:Keep-Alive
  • HTTP/1.1 407 需要代理身份验证
  • 代理验证:协商
  • 代理验证:NTLM

  • 为您在 Proxy-Authenticate 参数中看到的任何内容添加一个标志,您应该很高兴。在本例中,您将添加 --proxy-ntlm旗帜。

    关于rest - 通过经过身份验证的代理和经过身份验证的 http 资源 curl ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4111135/

    相关文章:

    rest - API应该为已更新但未更改的值返回什么响应代码?

    php - 来自 PHP 的 SFTP - 未定义常量 CURLOPT_PROTOCOLS 和 CURLPROTO_SFTP?

    curl - Msbuild exec 和 curl : Quoting nightmare

    java - 如何解决 "Unrecognized field"问题?

    java - 领域模型和剩余表示的解耦

    facebook - 使用 Graph API 按日期获取 Facebook 页面帖子

    java - 用于实时应用程序的 Websockets 与 HTTP Rest

    http - 为什么 cURL 发送的 http 请求给出与浏览器不同的结果?

    已安装 Php curl 但 Composer 说它没有

    c# - dotnet core http请求设置源ip