python - 使用 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设置服务器。感谢所有提前回复的人。
解决方案
您需要socks5h://
为您http
和https
代理使用。
我在 macOS 上使用socks5://
.
推荐阅读
- opencv - 当图像沿 z 方向倾斜时,SIFT 不起作用,有什么办法可以使这成为可能吗?
- c# - 如何创建播放视频的激活过程
- linq - 无法创建类型为“System.DBNull”的常量值。此上下文仅支持原始类型或枚举类型
- batch-file - 存储在变量中时如何正确转义多行输出加 FOR 加 %PROGRAMFILES(X86)% 加管道
- python - 从另一个文件更改字典中的值
- asp.net - 如何以相对于 asp.net 身份核心 v2.2.1 的格式对密码进行哈希处理
- angular - 使用角度 httpClient 发布文本时如何删除标题?
- android - 树莓派 4 是否支持 Android Things?
- javascript - React-router不同路径相同的组件
- robotframework - 机器人框架:是否可以忽略错误“使用参数 [abc] 初始化测试库 'abc' 失败”?