【问题标题】:Python request with authenticated proxy without exposing username and password.带有经过身份验证的代理的 Python 请求,而不暴露用户名和密码。
【发布时间】:2017-10-02 17:57:59
【问题描述】:

我正在使用请求库连接到 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 脚本的帐户”凭据吗?

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

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

谢谢大家。 类似问题here

【问题讨论】:

    标签: python http-proxy


    【解决方案1】:

    来自requestdocs

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

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

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

    然后在脚本中,您只需调用即可使用代理:

    resp = s.get(url, params={'key':urlkey }) 
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-03
    • 1970-01-01
    相关资源
    最近更新 更多