py requests 使用socks5代理
时间: 2024-11-27 22:12:40 浏览: 15
在Python的requests库中,如果你想要使用socks5代理,你需要在发送HTTP请求时特别指定使用socks5协议。以下是一个示例:
```python
import requests
from urllib.parse import urljoin
# 定义代理服务器信息
proxy_url = 'socks5h://username:password@127.0.0.1:1080' # 根据实际代理服务器填写
proxy_dict = { # 或者你可以使用下面这种方式,其中http和https使用相同的代理
'http': proxy_url,
'https': proxy_url
}
# 请求的目标URL
target_url = 'https://www.example.com/'
# 将完整URL合并到proxy_dict中,以便代理生效
if target_url.startswith('http'):
full_url = urljoin(proxy_url, target_url[len('http://'):])
else:
full_url = urljoin(proxy_url, target_url[len('https://'):])
response = requests.get(full_url, proxies=proxy_dict, verify=False) # 注意此处的verify=False,防止ssl验证失败
print(response.status_code)
print(response.text)
```
在这个例子中,`socks5h://`前缀表示使用socks5协议,并且在用户名和密码后指定了代理服务器的地址和端口。注意,`urljoin`函数用于确保在代理URL上添加完整的请求URL,使得代理可以正确工作。
阅读全文