【问题标题】:Requests library & Pip Ntlm Proxy settings issues. - Python请求库和 Pip Ntlm 代理设置问题。 - Python
【发布时间】:2017-05-05 22:20:34
【问题描述】:

问题

我无法让 python 请求库、easy_install 或 pip 在公司代理后面工作。但是,我可以让 git 工作。


我是如何让 git 工作的

我设置了 git 代理设置

git config --global http.proxy http://proxyuser:proxypwd@proxy.server.com:8080

  • 我工作的企业代理服务器需要用户名和密码,而且确实是这样的格式

http://username:password@ipaddress:port

  • 我不必设置 https.proxy

我尝试过的事情

(都没有用)

环境变量 - Pip 和 Requests 库

方法一

$ export HTTP_PROXY="http://username:passsword@ipaddress:port"

$ export HTTPS_PROXY="http://username:passsword@ipaddress:port"

方法二

SET HTTP_PROXY="http://username:passsword@ipaddress:port"

SET HTTPS_PROXy="HTTPS_PROXY="http://username:passsword@ipaddress:port"

  • 我尝试过设置代理变量后重新启动,设置代理变量后立即尝试

  • 使用“SET”命令检查变量表明两者都设置正确


使用代理参数 - 请求库

使用代理信息创建字典并将其传递给 requests.get()

代理 = { 'http': 'http://username:passsword@ipaddress:port', 'https': 'http://username:passsword@ipaddress:port'}

requests.get('http://example.org', proxies=proxies)


使用代理参数 - pip

pip install library_name -–proxy=http://username:passsword@ipaddress:port

pip install library_name -–proxy=username:passsword@ipaddress:port


结果 - 请求库

回应

响应 [407]

原因

'需要代理授权'

标题信息

{'Proxy-Authenticate': 'NTLM', 'Date': 'Fri, 05 May 2017 21:49:06 GMT', 'Cache-Control': 'no-cache', 'Pragma': 'no -cache', '内容类型': 'text/html; charset="UTF-8"', 'Content-Length': '4228', 'Accept-Ranges': 'none', 'Proxy-Connection': 'keep-alive'}


结果 - 点数

连接后重试(Retry(total=4, connect=None, read=None, redirect=None)) 'ProxyError('Cannot connect to proxy.', OSError('Tunnel connectio n 失败:407 需要代理授权',))'


注意:关于这篇文章,我在“http”和“://”之间的所有身份验证“链接”中都包含了一个空格,因为 stackoverflow 不允许我用这么多“链接”发布它'。

(我设置了一个新的 Stackoverflow 帐户,因为我的旧帐户是通过 facebook 登录的,我无法从工作中访问它)

【问题讨论】:

  • 我知道这不是一个很有建设性的回复(这就是为什么它只是一个评论),但如果你的工作场所通过拦截所有流量和阻止某些网站让你的生活变得更加艰难,那么我会考虑开始寻找对于一个更值得信赖的雇主。
  • 老实说,这可能是一个不错的选择。我刚从大学毕业并获得经验,所以我想我会坚持一段时间,然后当我的简历是甜一点。
  • 您查看 requests-ntlm 了吗? github.com/requests/requests-ntlm
  • @schlenk 我试过 requests-ntlm,没有骰子。

标签: git proxy pip python-requests ntlm


【解决方案1】:

我通过安装 Fiddler 并将其用作本地代理解决了这个问题,而 Fiddler 本身使用了公司代理。

【讨论】:

  • 请分享您如何做到这一点的详细信息。我试了一下,仍然无法连接到公司网络之外。Fiddler 确实充当了 Chrome 和 Firefox 的代理。
  • 我不记得了,tbh。我认为它类似于pip install libname --proxy=http://localhost:12345,其中 12345 是提琴手的端口
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-04-21
  • 1970-01-01
  • 1970-01-01
  • 2013-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多