|
| Дата |
|
USD/RUB | 90.2486 | BTC/USD | 69082.3029 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
10.10.2015, 23:44
|
Start Post: Софт для заворачивания http -> socks
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
|
Вот, например, мои скрипты не умеют по socks ходить. Умеют только http-прокси юзать. Есть ли какая-нить софтина, которая может слушать на тысячи портов и каждый порт заворачивать на закреплённый за ним socks? Ну т.е. я хочу ходить на соксы через промежуточную http-проксю.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
11.10.2015, 12:47
|
#12
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
> зачем requests, переходи на urllib2 ))
Там из коробки ряд вещей удобных, впрочем я чё-то затрудняюсь прям щас сказать, чем бы мне голый urllib не подошёл
> зелёные потоки
Да, создаю тысячи гринлетов через gevent - всё норм пашет.
По сути requests это во многом библиотека urllib3. Там кстати ведутся работы по внедрению сокетов, но чё-то как-то вяло https://github.com/shazow/urllib3/issues/690
Вот кстати, вроде как, более актуальный форк SockyPy: https://github.com/Anorov/PySocks Автор этого форка сделал pull-request в urllib3 для поддержки соксов, но я тестил - чё-то этот pull request не работает нифига.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
11.10.2015, 14:08
|
#13
|
сыроед
Регистрация: 01.10.2015
Сообщений: 15,877
Бабло: $1862895
|
Цитата:
Сообщение от lorien
>Чуда не произойдёт. Протокол SOCKS4/5 подразумевает, что в начале ты стучишься на сервер с запросом CONNECT и указываешь ip ort сервер, к которому ты хочешь подрубиться через сокс-сервер. Сокс сервер создаёт соединение с желаемым сервером и уже потом отвечает тебе, что мол всё ок, вот тебе локальный port можешь через него посылать пакеты, я буду их пересылать к удалённому серверу. От того, что я укажу вместо порта http порт socks, эти все вещи автоматом делаться не будут Более того буду делаться неправильные вещи. Будут слаться данные в формате, которые socks-сервер не ожидает.
Под софтом я подразумеваю скрипты, которые сам разрабатываю.
|
т.е. тебе 1 строчку влом изменить?
Лучше костыль промежуточный тормозящий?
Даже если соединения это не отдельный файл с классом, всё-равно я бы 1 раз расширил функционал и забыл.
|
|
|
11.10.2015, 15:22
|
#14
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
Там не одна строчка. Мне нужны пулы соединений, чтобы контролировать общее кол-во соединений. Это всё отлаживать надо. Т.е. меня бы устроил для начала вариант с http->socks проксёй хорошей.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
31.10.2015, 10:10
|
#15
|
n/a
Регистрация: 18.02.2009
Сообщений: 162
Бабло: $46620
|
Цитата:
Сообщение от lorien
Вот, например, мои скрипты не умеют по socks ходить. Умеют только http-прокси юзать. Есть ли какая-нить софтина, которая может слушать на тысячи портов и каждый порт заворачивать на закреплённый за ним socks? Ну т.е. я хочу ходить на соксы через промежуточную http-проксю.
|
Если не умеют, чет не рубаюсь, как тогда grub spider пашет через socks:
PHP код:
bot.load_proxylist('/tmp/__proxy.txt', 'text_file', proxy_type='socks5')
скорость правда раз в 10 ниже чем напрямую, но под мелкие объемы прокатывает
|
|
|
31.10.2015, 14:59
|
#16
|
Senior Member
Регистрация: 18.05.2009
Сообщений: 928
Бабло: $196595
ТС -->
|
ТС
> скорость правда раз в 10 ниже чем напрямую, но под мелкие объемы прокатывает
Там всё печально, multicurl сам по себе плохо работает с socks, некоторые операции там блокирующие. Если взять, например, fineproxy, то Spider по протоколу socks5 будет работать в несколько раз медленнее, чем по протоколу HTTP
И вообще в этом конкретном проекте я юзаю gevent + requests, а не spider.
__________________
TgScan - узнай Telegram группы, в которых состоит человек
|
|
|
02.11.2015, 13:36
|
#17
|
n/a
Регистрация: 18.02.2009
Сообщений: 162
Бабло: $46620
|
Цитата:
Сообщение от masolit
зачем requests, переходи на urllib2 ))
PHP код:
import urllib2
import socks
from sockshandler import SocksiPyHandler
opener = urllib2.build_opener(SocksiPyHandler(socks.SOCKS5, "127.0.0.1", 9050))
print opener.open("http://www.somesite.com/")
и да requests нормально пашет с зелеными потоками ?
|
а дальше через multiprocessing делаешь?
|
|
|
02.11.2015, 14:57
|
#18
|
Senior Member
Регистрация: 18.08.2007
Сообщений: 1,098
Бабло: $199375
|
Цитата:
Сообщение от Nosfer
а дальше через multiprocessing делаешь?
|
зачем ? gevent и все.
|
|
|
|