You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python Requests调用Tor代理失败求助:连接被主动拒绝

解决Requests通过Tor代理连接被拒绝的问题

你碰到的[Errno 10061]错误核心是本地Tor服务没在你指定的9050端口运行,或者依赖包没配置对。我来一步步帮你排查解决:

第一步:确认Tor服务的状态和端口

这是最容易踩的坑:

  • 如果你用的是Tor Browser,它默认的SOCKS5端口是9150,而非9050(9050是独立Tor服务的默认端口)。必须先打开Tor Browser,它才会启动本地SOCKS代理;
  • 如果是单独安装的Tor服务(比如Windows的Tor Service、Linux的tor包),要确保服务已经启动。可以通过命令行检查端口是否在监听:
    • Windows:打开cmd,运行netstat -ano | findstr :9050,查看是否有进程占用该端口;
    • Linux/macOS:终端运行lsof -i :9050或者netstat -tulpn | grep 9050。

第二步:安装必要的依赖

Requests本身不支持SOCKS5代理,你需要安装对应的扩展包:

pip install requests[socks]
# 或者单独安装PySocks
pip install PySocks

第三步:修正代码中的代理配置

根据你的Tor服务类型调整端口:

情况1:使用Tor Browser的代理

import requests

proxies = {
    'http': 'socks5://localhost:9150',
    'https': 'socks5://localhost:9150'
}
url = 'http://httpbin.org/ip'

try:
    response = requests.get(url, proxies=proxies, timeout=10)
    response.raise_for_status()
    print(response.text)
except requests.exceptions.RequestException as e:
    print(f"请求出错: {e}")

情况2:使用独立Tor服务(端口9050)

如果确认Tor服务已在9050端口运行,保持原端口配置即可,但要确保服务处于启动状态。

额外验证步骤

如果还是有问题,可以先用curl测试代理是否可用:

# 针对Tor Browser端口
curl --socks5 localhost:9150 http://httpbin.org/ip
# 针对独立Tor服务端口
curl --socks5 localhost:9050 http://httpbin.org/ip

如果curl能返回正常的IP结果,说明代理没问题,再回头检查代码细节。

内容的提问来源于stack exchange,提问作者Vaxe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.12 04:48:29