Як тільки python requestsбуде об'єднано із SOCKS5запитом на витягування, це буде так само просто, як використання proxiesсловника:
proxies = {
'http' : "socks5://myproxy:9191",
'https' : "socks5://myproxy:9191"
}
headers = {
}
url='http://icanhazip.com/'
res = requests.get(url, headers=headers, proxies=proxies)
Див. Розділ Підтримка проксі SOCKS
Іншим варіантом, якщо ви не можете дочекатися requestготовності, коли ви не можете використовувати requesocks- як на GoogleAppEngine через відсутність pwdвбудованого модуля, є використання PySocks, про яке було згадано вище:
- Візьміть
socks.pyфайл із репозиторію та покладіть копію у свою кореневу папку;
- Додайте
import socksтаimport socket
На цьому етапі налаштуйте та прив’яжіть сокет перед використанням з urllib2- у наступному прикладі:
import urllib2
import socket
import socks
socks.set_default_proxy(socks.SOCKS5, "myprivateproxy.net",port=9050)
socket.socket = socks.socksocket
res=urllib2.urlopen(url).read()