【问题标题】:Setting proxy info using python使用 python 设置代理信息
【发布时间】:2019-07-20 01:05:56
【问题描述】:

我正在尝试从公司代理向服务器发送请求。为此,我正在尝试设置代理信息。我基本上是在尝试执行以下 R 代码的等效操作:

set_config(use_proxy(url = "some_url", port = some_port, username = 
"some_user", password = "some_pass"))

在 Python 中。

我尝试了以下方法:

proxy = 'http://some_user:some_pass@some_url:some_port'
os.environ['http_proxy'] = proxy 
os.environ['HTTP_PROXY'] = proxy
os.environ['https_proxy'] = proxy
os.environ['HTTPS_PROXY'] = proxy
response = requests.post(url=url, data = data)

但它不会返回正确的结果。相反,它给出了一个无效的凭据错误。完全相同的凭据在 R 中有效。我可能会遗漏什么。

【问题讨论】:

    标签: python r proxy


    【解决方案1】:

    您可以像这样将代理作为字典传递:

        proxy = 'http://some_user:some_pass@some_url:some_port'
        proxies = {
            'http': proxy,
            'https': proxy
        }
    
        response = requests.post(url, data=data, proxies=proxies)
    

    【讨论】:

    • 嗨。谢谢您的答复。我试过了,但没有用。我得到了和以前一样的错误。我还可以尝试哪些其他方法?
    • 这是一个很长的html文件。正文包含以下内容:

      401 - 未经授权:由于凭据无效,访问被拒绝。

      您无权使用您提供的凭据查看此目录或页面。

    • 您确定您的凭据是正确的,并且可以在 R 中使用?这应该可以工作,正如@Vikas Ojha 回答的类似问题stackoverflow.com/questions/30692759/… 中所引用的那样
    • 我只是仔细检查了一下,是的,它们是正确的。我在这里问了一个相关的问题,如果有帮助的话。 R 版本完美运行。 stackoverflow.com/questions/57081162/…
    • 对不起,德里克,我不能告诉你为什么它“应该”不适合你。希望有人可以。
    【解决方案2】:

    尝试同时添加一些标题:

    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0",
        "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
        "Accept-Language": "pt-BR,pt;q=0.8,en-US;q=0.5,en;q=0.3",
        "Connection": "keep-alive",
        "Upgrade-Insecure-Requests": "1",
        "Cache-Control": "max-age=0"
    }
    
    PROXY_HOST = ""
    PROXY_PORT = ""
    USERNAME = ""
    PASSWORD = ""
    
    proxies = {
      "http": "http://%s:%s@%s:%s" % (USERNAME, PASSWORD, PROXY_HOST, PROXY_PORT),
      "https": "https://%s:%s@%s:%s" % (USERNAME, PASSWORD, PROXY_HOST, PROXY_PORT)
    }
    
    requests.get(link, headers = headers, proxies = proxies)
    

    【讨论】:

    • 嗨。感谢你的回复。我尝试并得到了同样的错误。还有什么我可以尝试的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-02
    • 1970-01-01
    • 2017-02-15
    • 2013-09-26
    相关资源
    最近更新 更多