Найти - Пользователи
Полная версия: Эмулятор браузера +смена прокси
Начало » Network » Эмулятор браузера +смена прокси
1
Evg
Есть ли готовое решение для эмуляции браузера? вообще нужно чтобы между запросами умел цеплять посланные ему куки и при след запросах их использовать, еще было бы неплохо чтобы прокси умел менять. Кто что использует?
ps.
погуглил нашел вот такое - http://code.activestate.com/recipes/572202/
но что-то он даже не зацепил куки сайта при попытке им пользоваться.
Ferroman
Я использую самописное, на основе скрипта написанного Laszlo Nagy.
Если кому ещё интересно - могу выложить.
Evg
да, было бы замечательно)
Ferroman
Правда там прокси не предусмотрен, но это не трудно поправить, я думаю.
Я там больше удалил, чем подправил, но работает замечательно.
Там же пример с прогрессом выложил.

http://code.google.com/p/pymozillaemulator/
regall
Есть такая тема:
http://code.google.com/p/golf/
Evg
regall
Есть такая тема:
http://code.google.com/p/golf/
Что-то тяжеловато как то свиду)

Ferroman
Я там больше удалил, чем подправил, но работает замечательно.
такой вопрос по скрипту, он ловит куку когда происходит редирект? есть такой момент когда сервер посылает куку и сразу делает редирект то нельзя поймать куку, точнее можно но для этого пишется специально обработчик - http_error_302 - и там ловится кука иначе она просто пропускается.

Вообщем я тут пробовал свое написать и сталкнулся еще с такой вот проблемой что нужно регать opener для отлова таких кук:
class MyHTTPRedirectHandler(urllib2.HTTPRedirectHandler):
def http_error_302(self, req, fp, code, msg, headers):
#print "Cookie Manip Right Here

opener = urllib2.build_opener(MyHTTPRedirectHandler())
urllib2.install_opener(opener)

и также нужно регать opener для proxy
opener = urllib2.build_opener(proxy)
urllib2.install_opener(opener)
Но повидимому он может быть только один, а нужны оба) так что я прям в замешательстве что делать)
может прилепить просто метод http_error_302 к opener proxy?
poltergeist
Читаем доку по urllib2:
build_opener(*handlers)
Create an opener object from a list of handlers.

The opener will use several default handlers, including support
for HTTP and FTP.

If any of the handlers passed as arguments are subclasses of the
default handlers, the default handlers will not be used.
… И создаём опенер из нескольких своих хэндлеров.
ritium
pycurl - поддержка соксов и кукисов
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB