Python3 - 使用 Socks5 代理的请求

Python3 - Requests with Sock5 proxy

有没有办法使用 socks5 代理通过请求使用 TOR?我知道请求只使用http代理...

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

您可以使用 socks, socket 个模块

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

socks 包可以从 socksipy. One particular one that also works on Python3 is PySocks 的多个包中安装。您可以安装它,例如,使用 pip:

pip3 install PySocks

我认为目前 requests 可以直接使用 socks5。

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)