带有经过身份验证的代理的Python请求,不会泄露用户名和密码

时间:2017-10-02 17:57:59

标签: python http-proxy

我正在使用请求库连接到api并获取数据。我有连接代理,它适用于AuthenticatedProxy

这是我的代码的样子。

import requests
s = requests.Session()
url = "https://testapi"
urlkey = “testkey”
proxies = {'https': 'http://<UserName>:<Password>@proxy_url:8080'}
resp = s.get(url, params={'key':urlkey }, proxies = proxies)
content = resp.content
print content

此处公开了用户名和密码,我想避免这种情况。我怎么能实现这一点?我是否可以请求使用defaultCredentials或运行python脚本的帐户&#39;凭证?

在.net中,以下配置有效:

<system.net>
    <defaultProxy enabled="true" useDefaultCredentials="true">
      <proxy proxyaddress="https://testapi:8080" bypassonlocal="True"/>
    </defaultProxy>
  </system.net>

谢谢大家。 类似问题here

1 个答案:

答案 0 :(得分:3)

来自request docs

  

您还可以通过设置环境变量来配置代理   HTTP_PROXY和HTTPS_PROXY。

因此,您可以通过设置环境变量来避免在脚本中显示凭据:

$ export HTTPS_PROXY="http://<UserName>:<Password>@proxy_url:8080"

然后在脚本中,您只需调用:

即可使用代理
resp = s.get(url, params={'key':urlkey })