欢迎访问宙启技术站
智能推送

使用Python的SOCKSProxyManager()设置全局HTTP和HTTPS代理

发布时间:2024-01-01 10:27:40

要使用Python的SOCKSProxyManager()设置全局HTTP和HTTPS代理,你首先需要安装requestsrequests[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)

在上面的代码中,我们首先导入requestsSOCKSProxyManager类。然后,我们设置代理服务器的主机和端口。接下来,我们使用SOCKSProxyManager创建了一个全局的代理会话,并将其赋值给session.proxies属性。我们指定了httphttps两个协议的代理,都使用了相同的主机和端口。

使用全局代理发送HTTP请求和HTTPS请求使用的方法都是session.get(url),其中url是要发送请求的URL。我们使用了httpbin.org提供的一个测试接口,它会返回请求的IP地址。

最后,我们打印了返回的响应文本。

请注意,这只是一个示例代码。你需要将proxy_hostproxy_port替换为你实际使用的代理服务器的主机和端口。