Python 请求不适用于 https 代理

标签 python https proxy python-requests

我尝试像这样在 python 中使用 https 代理:

proxiesDict ={
  'http':  'http://' + proxy_line,
  'https': 'https://' + proxy_line
}


response = requests.get('https://api.ipify.org/?format=json', proxies=proxiesDict, allow_redirects=False)

proxy_line是从ip:port格式的文件中读取的proxy。我在浏览器中检查了这个 https 代理,它可以工作。但是在 python 中,这段代码挂起了几秒钟,然后我得到异常:

HTTPSConnectionPool(host='api.ipify.org', port=443): Max retries exceeded with url: /?format=json (Caused by ProxyError('Cannot connect to proxy.', NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x0425E450>: Failed to establish a new connection: [WinError 10060] 

我尝试使用 socks5 代理,它适用于安装了 PySocks 的 socks5 代理。但是对于 https 我得到了这个异常,有人可以帮助我吗

最佳答案

请求指定代理列表时,键是协议(protocol),值是域/ip。对于实际值,您无需再次指定 http://https://

因此,您的 proxiesDict 将是:

proxiesDict = {
  'http':  proxy_line,
  'https': proxy_line
}

关于Python 请求不适用于 https 代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610255/

相关文章:

python - 在 Maya 中打印动画定位器的 xyz 值

apache - 如何为 Zabbix 启用 HTTPS

HTTP 到 HTTPS 重定向到端口 443 上的负载均衡器后面

node.js - 带有 https 代理的 NodeJS EventSource 不起作用

apache - 如何使用 apache 2.2 创建代理?

python - Pycuda - 如何添加-ccbin clang-3.8

python - 我有一个列表,我希望列表中的每个元素都作为一行

python - 为什么我的函数在 IDLE 中比 python 的 print 函数更快?

https - 通过 HTTPS 转换广告

node.js - npm 无法通过 Socks5 代理安装