получить заголовок HTTPS в Python

1

Я имею дело с HTTPS, и я хочу получить HTTP-заголовок для live.com

import urllib2

try:
    email="[email protected]"
    response = urllib2.urlopen("https://signup.live.com/checkavail.aspx?chkavail="+email+"&tk=1258056184535&ru=http%3a%2f%2fmail.live.com%2f%3frru%3dinbox&wa=wsignin1.0&rpsnv=11&ct=1258055283&rver=6.0.5285.0&wp=MBI&wreply=http:%2F%2Fmail.live.com%2Fdefault.aspx&lc=1036&id=64855&bk=1258055288&rollrs=12&lic=1")
    print 'response headers: "%s"' % response.info()
except IOError, e:
    if hasattr(e, 'code'): # HTTPError
        print 'http error code: ', e.code
    elif hasattr(e, 'reason'): # URLError
        print "can't connect, reason: ", e.reason
    else:
        raise

поэтому я не хочу всю информацию из заголовков, я просто хочу, чтобы информация Set-Cookie

если вы спрашиваете, что такое скрипт: он проверяет, может ли электронная почта использовать в hotmail, получить сумму из этого вируса CheckAvail=

после редактирования

спасибо за помощь.. после исправления получить только Set-Cookie меня проблема, когда я получаю cookie, не получаю CheckAvil= я получил много информации без "CheckAvil = после того, как открыл его в браузере и открыл источник, я получил его! см. изображение Изображение 174551

  • 0
    Извините, в чем вопрос?
  • 0
    @senderle - я думаю, вопрос в том, как получить конкретный заголовок из объекта response.info() .
Теги:
https
setcookie
hotmail

2 ответа

5
Лучший ответ

Объект, возвращаемый response.info() является экземпляром mimetools.Message (как описано в документах urllib2), который является подклассом rfc822.Message, который имеет метод getheader().

Таким образом, вы можете сделать следующее:

response = urllib2.urlopen("...")
print response.info().getheader("Set-Cookie") # get the value of the Set-Cookie header

Однако, если вы проверяете почту, я бы рекомендовал вам использовать POP3 или IMAP, если они доступны (Python поставляется с модулями для обоих).

  • 0
    Liquid_Fire, сэр, дайте мне идею проверить почту Avilabe через POP3 или IMAP это выглядит как отличная идея
  • 0
    Посмотрите документы для модулей poplib и imaplib (они оба имеют примеры в нижней части) и посмотрите справку Windows Live по настройкам конфигурации POP3 или IMAP, которая предоставит вам сервер, порт и другие необходимые вам настройки. предоставить в библиотеку для подключения.
Показать ещё 1 комментарий
0

Это потому, что "Httponly" в вашем ответе HTTP, а это означает, что из-за спецификаций можно просматривать только http-соединение.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню