С http://code.google.com/p/httplib2/wiki/Examples надеюсь поможет)
Печенье
При автоматизации чего-либо вам часто нужно «войти», чтобы поддерживать какую-то сессию / состояние с сервером. Иногда это достигается с помощью аутентификации на основе форм и файлов cookie. Вы публикуете форму на сервере, и она отвечает cookie во входящем заголовке HTTP. Вам необходимо передавать этот cookie обратно на сервер в последующих запросах, чтобы поддерживать состояние или поддерживать сеанс.
Вот пример того, как обращаться с куки-файлами при создании HTTP-сообщения.
Сначала давайте импортируем модули, которые мы будем использовать:
import urllib
import httplib2
Теперь давайте определим данные, которые нам понадобятся. В этом случае мы создаем пост в форме с двумя полями, представляющими имя пользователя и пароль.
url = 'http://www.example.com/login'
body = {'USERNAME': 'foo', 'PASSWORD': 'bar'}
headers = {'Content-type': 'application/x-www-form-urlencoded'}
Теперь мы можем отправить HTTP-запрос:
http = httplib2.Http()
response, content = http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))
На данный момент наша переменная "response" содержит словарь полей заголовка HTTP, которые были возвращены сервером. Если cookie был возвращен, вы увидите поле «set-cookie», содержащее значение cookie. Мы хотим взять это значение и поместить его в исходящий HTTP-заголовок для наших последующих запросов:
headers['Cookie'] = response['set-cookie']
Теперь мы можем отправить запрос, используя этот заголовок, и он будет содержать cookie, чтобы сервер мог нас узнать.
Итак ... вот и все в сценарии. Мы заходим на сайт и затем делаем еще один запрос, используя полученный нами файл cookie:
#!/usr/bin/env python
import urllib
import httplib2
http = httplib2.Http()
url = 'http://www.example.com/login'
body = {'USERNAME': 'foo', 'PASSWORD': 'bar'}
headers = {'Content-type': 'application/x-www-form-urlencoded'}
response, content = http.request(url, 'POST', headers=headers, body=urllib.urlencode(body))
headers = {'Cookie': response['set-cookie']}
url = 'http://www.example.com/home'
response, content = http.request(url, 'GET', headers=headers)