Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

14.11.2009, 10:10
|
|
Участник форума
Регистрация: 23.03.2007
Сообщений: 170
Провел на форуме: 1355906
Репутация:
211
|
|
Возник вопрос. в питоне прокси задаю так:
Код:
proxy_handler = urllib2.ProxyHandler({'http': proxy})
opener = urllib2.build_opener(proxy_handler)
Но как определить какой тип прокси(HTTP/SOCKS)? Неужели придется писать ф-ю которая повторно будет обращаться к серверу и узнавать тип прокси? о_О
|
|
|

14.11.2009, 10:20
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от H1Z
Возник вопрос. в питоне прокси задаю так:
Код:
proxy_handler = urllib2.ProxyHandler({'http': proxy})
opener = urllib2.build_opener(proxy_handler)
Но как определить какой тип прокси(HTTP/SOCKS)? Неужели придется писать ф-ю которая повторно будет обращаться к серверу и узнавать тип прокси? о_О
Можешь не нервничать - с соксами ты работать не будешь. Не поддерживаются. Хочешь соксов - тебе в гугл и искать httplib2 (поддержка соксов идет через SocksiPy). Из минусов - то, что прокси которые не поддерживают метод CONNECT(большинство пабликовых) лежат в осадке. Да и проверять тип проксика придется или ты думал, что питон будет угадывать ?
Последний раз редактировалось login999; 14.11.2009 в 10:22..
Причина: Заебали опечатки :(
|
|
|

14.11.2009, 10:25
|
|
Участник форума
Регистрация: 23.03.2007
Сообщений: 170
Провел на форуме: 1355906
Репутация:
211
|
|
Сообщение от login999
Можешь не нервничать - с соксами ты работать не будешь. Не поддерживаются. Хочешь соксов - тебе в гугл и искать httplib (поддержка соксов идет через SocksiPy). Из минусов - то, что прокси которые не поддерживают метод CONNECT(борльшинство пабликовых). Лежат в осадке. Да и проверять тип проксика придется или ты думал, что питон будет угадывать ?
"что питон будет угадывать" я думал что он настолько хорош что умеет даже это =))
А если серьёзно, то я привык к Qt где задаешь сразу тип прокси HTTP/SOCKS, а вот в питоне такого нет. А то что питон умеет пользоваться только HTTP прокси уже догадался, но перед тем как задать вопрос все таки надо было проверить тип вручную. Значит у madnet'a скрипт прокси врет, ведь там тип как SOCKS5. Вот я и думал что значит питон умеет работать с носками, хотя видел либу SocksiPy.
|
|
|

14.11.2009, 10:34
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от H1Z
"что питон будет угадывать" я думал что он настолько хорош что умеет даже это =))
А если серьёзно, то я привык к Qt где задаешь сразу тип прокси HTTP/SOCKS, а вот в питоне такого нет. А то что питон умеет пользоваться только HTTP прокси уже догадался, но перед тем как задать вопрос все таки надо было проверить тип вручную. Значит у madnet'a скрипт прокси врет, ведь там тип как SOCKS5. Вот я и думал что значит питон умеет работать с носками, хотя видел либу SocksiPy.
Это особая, уличная магия ^_0
|
|
|

14.11.2009, 13:58
|
|
Познающий
Регистрация: 14.01.2009
Сообщений: 93
Провел на форуме: 244235
Репутация:
39
|
|
m0Hze, Вариант с перегруженным целевым сервером отпадает, так как если я перезапускаю скрипт, все идет ок
Вот кусок основной кусок кода
Код:
def run(self):
while True:
proxy = self.plist.get()
try:
#Тут происходят нужные действия
except Exception, e: #proxy ordered to live long
print proxy, e
if self.log_file:
print >>self.log_file, "Thread "+str(self.id)+": "+str(e)+"\n",
self.plist.task_done()
То есть исключения вроде не должны быть причиной... В Queue.Queue() get по дефолту вроде blocking, так что, когда кончаются прокси, другой поток их освежает. В лог файле такая фигня: Сначала отмечаются все потоки, под конец активных визуально пару штук, последняя ошибка неактивных не дает никаких подсказок - обычный urlopen error
|
|
|

14.11.2009, 14:22
|
|
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме: 4512757
Репутация:
973
|
|
Сообщение от roddik
m0Hze, Вариант с перегруженным целевым сервером отпадает, так как если я перезапускаю скрипт, все идет ок
Вот кусок основной кусок кода
Код:
def run(self):
while True:
proxy = self.plist.get()
try:
#Тут происходят нужные действия
except Exception, e: #proxy ordered to live long
print proxy, e
if self.log_file:
print >>self.log_file, "Thread "+str(self.id)+": "+str(e)+"\n",
self.plist.task_done()
То есть исключения вроде не должны быть причиной... В Queue.Queue() get по дефолту вроде blocking, так что, когда кончаются прокси, другой поток их освежает. В лог файле такая фигня: Сначала отмечаются все потоки, под конец активных визуально пару штук, последняя ошибка неактивных не дает никаких подсказок - обычный urlopen error
Больно смахивает на то, что проксей ему не хватает. Если реализована их очистка оттуда то это и может быть затык. Сделай следующей строчкой после получения прокси чтоб он выводил тебе какой поток получил прокси и саму прокси. Сделай логгирование на каждом шаге.
P.S> http://dumpz.org/11933/ - посмотри там есть класс PROXYS, ваозможно он и решит твои проблемы...
Последний раз редактировалось login999; 14.11.2009 в 14:26..
|
|
|

02.12.2009, 21:49
|
|
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме: 9257858
Репутация:
979
|
|
Подскажите аналог функции preg_replace из php.Замена в строке по регулярному выражению.
|
|
|

02.12.2009, 23:17
|
|
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме: 333264
Репутация:
80
|
|
rushter,
Вот, посмотри: http://docs.python.org/library/re.html#re.sub
|
|
|

03.12.2009, 20:02
|
|
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме: 5749763
Репутация:
1680
|
|
Помогите плиз.
Вот тема с питоновым флудером в скайпе:
http://forum.antichat.ru/threadnav116226-1-10.html
Кода там немного, но питона я вообще не знаю.
Подскажите что надо вписать, чтобы он считал звонки создавая рядом с собой файл log.txt
и в цифровом порядке записывал, то есть один раз позвонил в файле появилась 1 и это число увеличивалось бы с каждым звонком.
|
|
|

03.12.2009, 20:51
|
|
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме: 2868783
Репутация:
414
|
|
В цикле
происходит дозвон и соответственно сброс, обьявляешь до цикла переменную количества итераций и инкрементируешь в конце цикла и пишешь в файл
Код:
fd = open("log.txt", "w")
# callsCounter наш счетчик
fd.write(str(callsCounter))
п.с. тут нечего сложного нету можно освоить за один день )
Последний раз редактировалось razb; 03.12.2009 в 20:53..
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|