卷曲请求到内部网站

时间:2018-06-19 02:27:18

标签: curl network-programming python-requests

我正在尝试使用cURL(和python-requests)从内部网站检索信息。我试过了

curl -v -u "username:password" https://internalwebsite.com/

但是我一直收到以下错误(python-requests也有类似的错误)

curl: (56) Received HTTP code 502 from proxy after CONNECT.

以下是整个错误打印的图像。imgur link

我可以使用浏览器访问该链接,如果我查看浏览器开发人员选项的网络选项卡下的请求,并将请求复制为cURL。我得到了

curl "https://internalwebsite.com/" -H "Host: myhosthere" -H "User-Agent: some user agent here" -H "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" -H "Accept-Language: en-US,en;q=0.5" --compressed -H "Connection: keep-alive" -H "Upgrade-Insecure-Requests: 1" -H "Authorization: Basic somebase64stringhere"

但这也会导致与以前相同的错误。现在我知道确切的解决方案可能很难找到,我只想在向IT团队询问他们可能不会使用的工具之前收集更多信息。 39;支持

基本上我想知道,卷曲请求与服务器端的浏览器有什么不同?尽管使用了浏览器的相同用户代理,但链接(Rest API)通过浏览器完全正常工作,但不能通过curl工作。

有一个"传出"我需要访问互联网的代理。是否还有一个"传入代理"我可能需要连接才能通过curl请求访问内部网站?内部网站只能在公司网络内访问,我的所有cURL请求都是在公司网络内部进行的。似乎我的浏览器在网络上验证了但不是cURL?

更新:

有关确切的解决方案,请参阅接受答案下方的评论。

1 个答案:

答案 0 :(得分:1)

curl找到一个环境变量,告诉它使用代理,以便它连接到那个并在那里发出CONNECT,然后得到502 ...

如果要禁用此命令行的代理,请执行以下操作之一:

  • 使用-x ""
  • 使用--noproxy指定代理不应用于
  • 的域
  • 删除环境变量(*_proxy某事物)
  • 将此域添加到NO_PROXY环境变量