首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Tor和Stem更改身份

使用Tor和Stem更改身份
EN

Stack Overflow用户
提问于 2016-11-30 08:05:23
回答 1查看 505关注 0票数 1

我正在遵循教程To Russia With Love,并且作为其中的一部分,我想在每次运行代码时更改身份。我查看了多个问题和教程,从外观上看,我的CookieAuthentication -defaults文件是正确的:torrc 9151 torr1

我想先编辑torrc文件,但如果我触摸它,Tor就不会再运行了,所以我在某个地方读到了torrc。torrc文件本身只有:

代码语言:javascript
运行
复制
# This file was generated by Tor; if you edit it, comments will not be preserved
# The old torrc file was renamed to torrc.orig.1 or similar, and Tor will ignore it

我不想设置密码,所以通过阅读stem文档,我的理解是设置身份验证就足够了。我有以下代码:

代码语言:javascript
运行
复制
import socks  # SocksiPy module
import socket
import requests

SOCKS_PORT = 9150

# Set socks proxy and wrap the urllib module

socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, '127.0.0.1', SOCKS_PORT)
socket.socket = socks.socksocket

def getaddrinfo(*args):
  return [(socket.AF_INET, socket.SOCK_STREAM, 6, '', (args[0], args[1]))]

socket.getaddrinfo = getaddrinfo

url = "http://google.com"

print requests.get(url).elapsed.total_seconds()

from stem import Signal
from stem.control import Controller

with Controller.from_port(port = 9151) as controller:
    controller.authenticate()
    controller.signal(Signal.NEWNYM)

但是当我运行它时,我得到了错误: socks.SOCKS5Error: 0x01: General SOCKS服务器故障

我不知道该怎么做,我已经读了几个小时了,还没能解决这个问题。任何提示都会很好。

编辑:我也阅读了This Post,但似乎没有解决方案。我还尝试在设置套接字之前放入Controller语句,但在这种情况下,IP保持不变,不会改变。

EN

回答 1

Stack Overflow用户

发布于 2016-11-30 11:29:03

我最终通过在设置套接字之前移动控制器语句解决了这个问题。最初看起来IP地址保持不变,但如果你多等3到4秒,IP地址就会改变,所以我只是添加了一个时间延迟,它运行得很好。

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

https://stackoverflow.com/questions/40878033

复制
相关文章

相似问题

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