首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有sudo就不能通过tor路由python脚本中的请求

没有sudo就不能通过tor路由python脚本中的请求
EN

Stack Overflow用户
提问于 2018-01-18 20:46:40
回答 2查看 339关注 0票数 2

我正在尝试通过tor在python脚本中路由请求。下面是代码:

代码语言:javascript
复制
#!/usr/bin/env python3

import socket
import socks
from urllib import request

socks.set_default_proxy(socks.SOCKS5, '127.0.0.1', 9050)
socket.socket = socks.socksocket
ip = request.urlopen('https://api.ipify.org/').read()
print(ip)

当我试图以用户身份运行它(即"./script.py")时,它崩溃时会出现以下错误:

代码语言:javascript
复制
urllib.error.URLError: <urlopen error Socket error: 0x01: General SOCKS server failure>

但是,如果我使用sudo运行脚本("sudo ./script.py"),它将按预期工作,并打印一个tor。没有sudo我怎么能让它工作呢?

编辑1:我认为tor安装是可以的,因为它可以与其他语言一起工作(例如,我可以从Go脚本执行请求。此外,在将代理dict传递给requests.get()时,我可以让python脚本与tor一起工作(如下面的注释所示)。这个解决方案是可以接受的,但我仍然在想,我的脚本有什么问题。

编辑2:我正在运行LinuxMint18.3 64位.Python和Python3都是预先安装的.Tor是通过存储库(sudo Apt)安装的。我尝试了全局安装PySocks (sudo pip3 install PySocks),并且只针对当前用户(pip3 install --用户PySocks)。

EN

回答 2

Stack Overflow用户

发布于 2018-01-18 20:52:57

你试过看:https://tor.stackexchange.com/questions/7101/general-socks-server-failure-while-using-tor-proxy吗?这似乎是您想要的,它们表明可以使用127.0.0.2上的中间连接来解决这个问题。瞧一瞧!

票数 1
EN

Stack Overflow用户

发布于 2018-01-18 21:54:06

我已经在我的机器上尝试过您的代码(在安装了正确的软件包之后),它可以正常工作。在您的系统中安装/运行Tor的方式应该有问题。请随意在您的问题中添加有关安装的详细信息,我将尝试查看它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48330020

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档