2

我无法理解 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()))

4

1 回答 1

1

更好:

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)
于 2021-07-11T09:31:55.563 回答