Python3 - Requests with Sock5 proxy
17,191
Solution 1
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
Solution 2
I think at the moment requests works with socks5 out of the box.
import requests
url = 'https://example.com'
proxies = {'http': 'socks5://127.0.0.1:9150',
'https': 'socks5://127.0.0.1:9150'}
r = requests.get(url, proxies=proxies)
Related videos on Youtube
Author by
Bob Ebert
Updated on June 25, 2022Comments
-
Bob Ebert 11 monthsIs 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) -
Yassir S about 5 yearsIt doesn't work for me on windows. I don't understand why. Do you have an idean on what I should investigate ? -
Bibek Ghimire about 5 yearsraise GeneralProxyError("Connection closed unexpectedly") -
Masood Khaari over 1 yearIt needspip install "requests[socks]"too.