Как я могу использовать SOCKS 4/5 прокси с urllib2?

Как я могу использовать SOCKS 4/5 прокси с urllib2 для загрузки веб-страницы?

48
задан Mike 23 February 2010 в 11:55
поделиться

2 ответа

Вы можете использовать SocksiPy модуль. Просто скопируйте файл "socks.py" в каталог lib/site-packages вашего Python, и вы готовы к работе.

Вы должны использовать socks перед urllib2. (Попробуйте pip install PySocks )

Например:

import socks
import socket
socks.setdefaultproxy(socks.PROXY_TYPE_SOCKS5, "127.0.0.1", 8080)
socket.socket = socks.socksocket
import urllib2
print urllib2.urlopen('http://www.google.com').read()

Вы также можете попробовать pycurl lib и tsocks, для более подробной информации нажмите здесь.

67
ответ дан 26 November 2019 в 18:46
поделиться

Поскольку SOCKS является прокси-сервером на уровне сокета, вам необходимо заменить объект сокета, используемый urllib2 . Обратите внимание на это решение. Если исправления обезьяны вам недостаточно, вы можете попробовать создать подкласс или скопировать-изменить код из стандартной библиотеки urllib2 .

4
ответ дан 26 November 2019 в 18:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: