Search code examples
python-3.xproxypython-requeststor

Python3 - Requests with Sock5 proxy


Is there a way to use sock5 proxy to use TOR with requests? I know that requests only use http proxy...

import requests
r = requests.get('http://www.google.com',proxies= my_proxy)

Solution

  • You can use socks, socket modules

    import socks
    import socket
    from urllib import request
    
    socks.set_default_proxy(socks.SOCKS5, "localhost", 9050)
    socket.socket = socks.socksocket
    r = request.urlopen('http://icanhazip.com')
    print(r.read()) # check ips
    

    The socks package can be installed from multiple packages which are forks of socksipy. One particular one that also works on Python3 is PySocks. You can install it, for example, with pip:

    pip3 install PySocks