python - 如何使用 TOR 和 Stem 以及 python 打造新身份?与(tor浏览器)新身份完全相同

标签 python python-3.x signals tor stem

我无法理解 Tor 浏览器或 python 的新身份之间的区别?

Python: 我请求使用 tor 从 python 调用网站,但网站已达到限制并需要 reCAPTCHA,因此我创建新身份来重置所有信息以跳过 reCAPTCHA,但不起作用,IP 更改成功

Tor 浏览器: 但当我使用 Tor 浏览器和网站时,这一点显示了 reCAPTCHA 和 我从 Tor 浏览器创建的新身份工作成功并跳过 reCAPTCHA,网站工作正常

from stem import Signal
from stem.control import Controller
import requests


proxies = {
    'http': 'socks5://127.0.0.1:9050',
    'https': 'socks5://127.0.0.1:9050'
}

def new_identity():
  with Controller.from_port(port = 9051) as controller:
      controller.authenticate()
      controller.signal(Signal.NEWNYM)


url = 'https://ifconfig.me/ip'
response = requests.get(url, proxies=proxies)
print('tor ip: {}'.format(response.text.strip()))

new_identity()

url = 'https://ifconfig.me/ip'
response = requests.get(url, proxies=proxies)
print('tor ip: {}'.format(response.text.strip()))

最佳答案

更好:

def renew_connection():
    with Controller.from_port(port=9051) as controller:
        controller.authenticate(password='password')
        controller.signal(Signal.NEWNYM)
        controller.close()
 
def request_tor(url, headers):
    renew_connection()
    session = requests.session()
    session.proxies = {}
    session.proxies['http'] = 'socks5h://localhost:9050'
    print((session.get(url)).text)

关于python - 如何使用 TOR 和 Stem 以及 python 打造新身份?与(tor浏览器)新身份完全相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56958989/

相关文章:

python - NumPy 中可以使用分层广播吗?

python - 如果字符串由单词列表中的单词组成,则匹配没有空格的字符串

c++ - 从 boost::process 到 boost::child 的信号传播

c++ - 从 QGraphicsView 转发按键

linux - pthread_kill() 没有向主线程发送信号(主程序)

python - 属性错误 : module 'regex' has no attribute 'Pattern'

python - SSL:在 Python 3.8 上运行时的 CERTIFICATE_VERIFY_FAILED。适用于其他版本的python

python - 在列中查找与其他数据帧列中的任何其他值匹配的行号

python-3.x - 如何从数据框中获取单个项目列表

python - 使用不同的扩展名轮换日志