使用Python的SOCKSProxyManager()设置全局HTTP和HTTPS代理
发布时间:2024-01-01 10:27:40
要使用Python的SOCKSProxyManager()设置全局HTTP和HTTPS代理,你首先需要安装requests和requests[socks]库。requests库是一个用于发送HTTP请求的库,requests[socks]是一个包含SOCKS代理支持的扩展库。
下面是一个示例代码,演示了如何使用SOCKSProxyManager()来设置全局HTTP和HTTPS代理:
import requests
from requests_toolbelt import SOCKSProxyManager
# 设置代理服务器的host和port
proxy_host = 'localhost'
proxy_port = 1080
# 使用SOCKSProxyManager创建一个全局的代理会话
session = requests.Session()
session.proxies = {
'http': f'socks5://{proxy_host}:{proxy_port}',
'https': f'socks5://{proxy_host}:{proxy_port}',
}
# 使用全局代理发送HTTP请求
# 注意:这里使用的是session对象,不是requests对象
response = session.get('http://httpbin.org/ip')
print(response.text)
# 使用全局代理发送HTTPS请求
response = session.get('https://httpbin.org/ip')
print(response.text)
在上面的代码中,我们首先导入requests和SOCKSProxyManager类。然后,我们设置代理服务器的主机和端口。接下来,我们使用SOCKSProxyManager创建了一个全局的代理会话,并将其赋值给session.proxies属性。我们指定了http和https两个协议的代理,都使用了相同的主机和端口。
使用全局代理发送HTTP请求和HTTPS请求使用的方法都是session.get(url),其中url是要发送请求的URL。我们使用了httpbin.org提供的一个测试接口,它会返回请求的IP地址。
最后,我们打印了返回的响应文本。
请注意,这只是一个示例代码。你需要将proxy_host和proxy_port替换为你实际使用的代理服务器的主机和端口。
