Python requests代理(Proxy)使用教程
在 Python 的 requests 库中,使用代理服务器可以让你通过不同的网络路由发送 HTTP 请求。代理服务器可以帮助隐藏真实 IP 地址、绕过地理限制或进行负载均衡等操作。
什么是代理?
代理服务器是一种中间服务器,它位于客户端(你的代码)和目标服务器(你要请求的服务器)之间。使用代理服务器,你的请求会首先发送到代理,然后代理再将请求转发给目标服务器,目标服务器的响应也会通过代理返回给你。代理的使用在数据抓取、访问受限网站、提高隐私保护等场景中非常有用。
在 requests 中使用代理
requests 支持HTTP、HTTPS、SOCKS等代理请求;
使用HTTP、HTTPS代理
如果要使用 HTTP 代理或 HTTPS 代理,你可以在任意请求方法中传入proxies
参数来配置单个请求:
import requests
proxies = {
"http": "http://proxy1:8080",
"https": "https://proxy2.com:8080",
}
#带身份验证的格式
proxies2 = {
'http': 'http://user:password@proxy.example.com:8080',
'https': 'https://user:password@proxy.example.com:8080',
}
response = requests.get("http://example.org", proxies=proxies)
在这个例子中,http 请求将通过http://proxy1:8080
发送,https 请求将通过https://proxy2.com:8080
发送;
通过环境变量设置代理
除了在代码中明确传递proxies
参数,还可以通过环境变量配置代理,requests 库会自动读取这些环境变量并应用代理设置。
Windows 环境变量设置命令
set HTTP_PROXY=http://proxy.example.com:8080
set HTTPS_PROXY=https://proxy.example.com:8080
Linux、macOS 环境变量设置命令
export http_proxy=http://proxy.example.com:8080
export https_proxy=https://proxy.example.com:8080