Помогите конвертировать код используя httlib2 для использования urllib2 - PullRequest
0 голосов
/ 02 июня 2010

Что я пытаюсь сделать?

Посетите сайт, получите куки, перейдите на следующую страницу, отправив информацию о куки. Все это работает, но httplib2 вызывает у меня слишком много проблем с socks proxy на одном сайте.

http = httplib2.Http()
main_url = 'http://mywebsite.com/get.aspx?id='+ id +'&rows=25'
response, content = http.request(main_url, 'GET', headers=headers)
main_cookie = response['set-cookie']
referer = 'http://google.com'
headers = {'Content-type': 'application/x-www-form-urlencoded', 'Cookie': main_cookie, 'User-Agent' : USER_AGENT, 'Referer' : referer}

Как сделать то же самое, используя urllib2 (получение cookie, переход на следующую страницу на том же сайте)?

Спасибо.

1 Ответ

3 голосов
/ 02 июня 2010

Используйте cookielib , он будет обрабатывать всю работу с файлами cookie так же автоматически, как и веб-браузер.

Пример:

import urllib2
import cookielib

cookie_jar = cookielib.LWPCookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie_jar))

#Get the first page with the cookie, installing it in the cookie jar automatically
opener.open("http://yoursite.com/set-cookie")

#Get the second page, passing on the cookie in the cookiejar.
opener.open("http://yoursite.com/other")

#Alternatively, you can also install this opener as the default urllib2 opener:
urllib2.install_opener(opener)
#Now all urllib2 requests will use cookies:
urllib2.urlopen("http://yoursite.com/other")
...