ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

  #411  
Старый 14.11.2009, 10:10
H1Z
Участник форума
Регистрация: 23.03.2007
Сообщений: 170
Провел на форуме:
1355906

Репутация: 211
Отправить сообщение для H1Z с помощью ICQ Отправить сообщение для H1Z с помощью AIM
По умолчанию

Возник вопрос. в питоне прокси задаю так:
Код:
proxy_handler = urllib2.ProxyHandler({'http': proxy})
opener = urllib2.build_opener(proxy_handler)
Но как определить какой тип прокси(HTTP/SOCKS)? Неужели придется писать ф-ю которая повторно будет обращаться к серверу и узнавать тип прокси? о_О
 
Ответить с цитированием

  #412  
Старый 14.11.2009, 10:20
login999
Постоянный
Регистрация: 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.. Причина: Заебали опечатки :(
 
Ответить с цитированием

  #413  
Старый 14.11.2009, 10:25
H1Z
Участник форума
Регистрация: 23.03.2007
Сообщений: 170
Провел на форуме:
1355906

Репутация: 211
Отправить сообщение для H1Z с помощью ICQ Отправить сообщение для H1Z с помощью AIM
По умолчанию

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

  #414  
Старый 14.11.2009, 10:34
login999
Постоянный
Регистрация: 12.06.2008
Сообщений: 654
Провел на форуме:
4512757

Репутация: 973


По умолчанию

Цитата:
Сообщение от H1Z  
"что питон будет угадывать" я думал что он настолько хорош что умеет даже это =))
А если серьёзно, то я привык к Qt где задаешь сразу тип прокси HTTP/SOCKS, а вот в питоне такого нет. А то что питон умеет пользоваться только HTTP прокси уже догадался, но перед тем как задать вопрос все таки надо было проверить тип вручную. Значит у madnet'a скрипт прокси врет, ведь там тип как SOCKS5. Вот я и думал что значит питон умеет работать с носками, хотя видел либу SocksiPy.
Это особая, уличная магия ^_0
 
Ответить с цитированием

  #415  
Старый 14.11.2009, 13:58
roddik
Познающий
Регистрация: 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
 
Ответить с цитированием

  #416  
Старый 14.11.2009, 14:22
login999
Постоянный
Регистрация: 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..
 
Ответить с цитированием

  #417  
Старый 02.12.2009, 21:49
rushter
Reservists Of Antichat - Level 6
Регистрация: 23.05.2008
Сообщений: 756
Провел на форуме:
9257858

Репутация: 979


Отправить сообщение для rushter с помощью ICQ
По умолчанию

Подскажите аналог функции preg_replace из php.Замена в строке по регулярному выражению.
__________________
Blog
 
Ответить с цитированием

  #418  
Старый 02.12.2009, 23:17
whexp
Познающий
Регистрация: 30.11.2009
Сообщений: 97
Провел на форуме:
333264

Репутация: 80
По умолчанию

rushter,
Вот, посмотри: http://docs.python.org/library/re.html#re.sub
 
Ответить с цитированием

  #419  
Старый 03.12.2009, 20:02
Nightmarе
Познавший АНТИЧАТ
Регистрация: 29.04.2007
Сообщений: 1,189
Провел на форуме:
5749763

Репутация: 1680


Отправить сообщение для Nightmarе с помощью ICQ
По умолчанию

Помогите плиз.
Вот тема с питоновым флудером в скайпе:
http://forum.antichat.ru/threadnav116226-1-10.html
Кода там немного, но питона я вообще не знаю.
Подскажите что надо вписать, чтобы он считал звонки создавая рядом с собой файл log.txt
и в цифровом порядке записывал, то есть один раз позвонил в файле появилась 1 и это число увеличивалось бы с каждым звонком.
 
Ответить с цитированием

  #420  
Старый 03.12.2009, 20:51
razb
Постоянный
Регистрация: 24.03.2009
Сообщений: 670
Провел на форуме:
2868783

Репутация: 414


Отправить сообщение для razb с помощью ICQ
По умолчанию

В цикле
Код:
while 1==1:

...

...
происходит дозвон и соответственно сброс, обьявляешь до цикла переменную количества итераций и инкрементируешь в конце цикла и пишешь в файл
Код:
fd = open("log.txt", "w")
# callsCounter наш счетчик
fd.write(str(callsCounter))
п.с. тут нечего сложного нету можно освоить за один день )

Последний раз редактировалось razb; 03.12.2009 в 20:53..
 
Ответить с цитированием
Ответ





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ