2013-10-04 5 views
1

Мне нравится urllib2 для автоматических рутинных операций, таких как обработка файлов cookie (с cookielib.CookieJar) или обработка переадресаций. Но мне также нравится httplib для низкоуровневого управления, которое имеет программист. Например, с httplib я могу контролировать порядок заголовков HTTP, но с urllib2 я не могу. Кроме того, с httplib я могу легко установить заголовок Content-Type на все, что мне нужно, и отправить, но не с urllib2 - он требует слишком большого контроля над заголовками для себя и может переписать мои заголовки по его внутренней логике.httplib vs urllib2 и cookies

Я бы остался с httplib, но обработка cookies с помощью httplib - непростая задача. Я не могу подключить его к cookielib, и обработка и обработка файлов cookie не так проста, что нужно сделать за 20 минут с развитием моего собственного класса обработки файлов cookie.

Есть ли какой-либо стандарт обработки печенья для httplib?

Есть ли способ контролировать порядок заголовков, отправляемых с urllib2, и отключить его интеллект, который может добавить новые заголовки?

+2

Я предпочитаю [запросы] (http://docs.python-requests.org/en/latest/) –

+0

actualy Я сделал http-запросы с использованием js, java, groovy, python (urllib2 и запросов), и я верю запросы являются лучшими на сегодняшний день. очень проста в использовании и достойная документация. –

+0

@FooBarUser позволяет вам контролировать порядок заголовков? Поддерживает ли он файлы cookie? – pavelkolodin

ответ

1

Вы можете передать заголовки httplib.

import httplib 
headers = {"Cookie": "foobar", 
      "Accept": "text/plain"} 
conn = httplib.HTTPConnection("example.org") 
conn.request("GET", "", "", headers) 
response = conn.getresponse() 
conn.close() 

Вы все еще можете использовать Cookielib для управления ими.

+0

Куки должны быть парными значениями. – vwvolodya