不能使用 python 的代理

Can't use proxies with python

所以我只是编写了一个脚本来测试 python 中的代理,但我无法让它工作。我总是得到 Proxy Error

非常简单的代码:

import requests

def normal():
    response = requests.get('https://www.google.com/',
                       proxies={
                           'http': 'http://myUserNameUrlEncoded:myPasswordEncoded@uk2049.nordvpn.com',
                           'https': 'http://myUserNameUrlEncoded:myPasswordEnco@uk2049.nordvpn.com',
                       }
                       )
    print(response)

我得到的错误如下:

requests.exceptions.ProxyError: HTTPSConnectionPool(host='www.google.com', port=443): Max retries exceeded with url: / (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f6d123be640>: Failed to establish a new connection: [Errno 110] Connection timed out')))

我注意到的第一件事...为什么主机被视为 www.google.com? 当它这样做时,这似乎是随机的,当主机成功设置为 uk2049.nordvpn.com 时,它仍然超时。 (我已经尝试增加超时)。

感谢任何帮助。谢谢!

编辑 我发现问题仅出在 https 代理上。出于某种原因,python 将主机设为我要发送的 url。

迟来的答案,事实证明请求模块不处理 https 代理。要利用这一点,请使用 pycurl ‍♂️