Python 代理设置

通过环境变量或Python代码为Python程序设置代理,解决 Socks5 代理在请求 https 资源时失效的问题

Python 代理设置
Python Proxy

通过环境变量或Python代码为Python程序设置代理,解决 Socks5 代理在请求 https 资源时失效的问题。

在 Shell 中设置环境变量

export HTTP_PROXY=socks5://127.0.0.1:1080
export HTTPS_PROXY=socks5://127.0.0.1:1080

在 Python 代码中设置

import os
os.environ['HTTP_PROXY'] = 'socks5://127.0.0.1:1080'
os.environ['HTTPS_PROXY'] = 'socks5://127.0.0.1:1080'

Socks5 代理的 BUG

Python 通过 urllib3 库进行网络请求,但是 https 协议的请求经过 socks5 代理时无法完成握手,会导致设置了代理也无法访问目标地址,需要将 socks5 协议的代理转换成 http 协议。

转换可以使用工具 privoxy 实现。

将配置中的地址改成 http 代理即可

import os
os.environ['HTTP_PROXY'] = 'http://127.0.0.1:8118'
os.environ['HTTPS_PROXY'] = 'http://127.0.0.1:8118'
浙ICP备15043004号-1