使用 socks5 代理的 Python 请求

Posted

技术标签:

【中文标题】使用 socks5 代理的 Python 请求【英文标题】:Python Requests using socks5 proxy 【发布时间】:2019-03-20 17:32:33 【问题描述】:

我已经部署了一个 AWS ec2 实例来使用代理。我已经编辑了安全策略并允许我的机器访问服务器。我将端口 22 用于 SSH,将端口 4444 用于代理。由于某种原因,我仍然无法使用代理启动会话。

代码:

import requests

session = requests.Session()
user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/72.0.3626.121 Safari/537.36'
headers = 'user-agent' : user_agent
proxies = 
    'http' : 'socks5h://ec2-ip-address-here.us-east-2.compute.amazonaws.com:4444',
    'https' : 'socks5h://ec2-ip-address-here.us-east-2.compute.amazonaws.com:4444',


print(session.get('https://www.ipchicken.com/', headers=headers, proxies=proxies).content)

错误:

requests.exceptions.ConnectionError: SOCKSHTTPSConnectionPool(host='www.ipchicken.com', port=443): Max retries exceeded with url: / (Caused by NewConnectionError('<urllib3.contrib.socks.SOCKSHTTPSConnection object at 0x107a09048>: Failed to establish a new connection: [Errno 61] Connection refused'))

我不确定我做错了什么。我跟着这个视频https://www.youtube.com/watch?v=HOL2eg0g0Ng 设置服务器。感谢所有提前回复的人。

【问题讨论】:

【参考方案1】:

您需要为您的httphttps 代理使用socks5h://

我在 macOS 上使用 socks5:// 时收到此错误。

【讨论】:

以上是关于使用 socks5 代理的 Python 请求的主要内容,如果未能解决你的问题,请参考以下文章

使用Python通过Tor(SOCKS5)发送UDP请求

如何在python的请求中禁用代理socks5?

推送:啥是socks5代理ip

如何在Linux下配置socks5代理

来自 Azure VM 的 SOCKS5 请求

使用 PHP 时使用 socks5 代理的 cURL 请求失败,但它通过命令行工作