首页 > 解决方案 > 使用 socks5 代理的 Python 请求

问题描述

我已经部署了一个 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设置服务器。感谢所有提前回复的人。

标签: pythonpython-3.xamazon-ec2python-requestssocks

解决方案


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

我在 macOS 上使用socks5://.


推荐阅读