How to change Tor identity in Python?

前端 未结 6 2273
南旧
南旧 2020-11-28 19:14

I have the following script:

import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, \"127.0.0.1\", 9050)
socket.socket = socks.socksocket
         


        
6条回答
  •  慢半拍i
    慢半拍i (楼主)
    2020-11-28 19:57

    Another simple solution, no external libraries required, works for both IPv4 and IPv6:

    import socket
    
    try:
        tor_c = socket.create_connection((TOR_CTRL_HOST, TOR_CTRL_PORT))
        tor_c.send('AUTHENTICATE "{}"\r\nSIGNAL NEWNYM\r\n'.format(TOR_CTRL_PWD))
        response = tor_c.recv(1024)
        if response != '250 OK\r\n250 OK\r\n':
            sys.stderr.write('Unexpected response from Tor control port: {}\n'.format(response))
    except Exception, e:
        sys.stderr.write('Error connecting to Tor control port: {}\n'.format(repr(e)))
    

提交回复
热议问题