Я имею дело с 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 = после того, как открыл его в браузере и открыл источник, я получил его! см. изображение
Объект, возвращаемый 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 поставляется с модулями для обоих).
POP3
или IMAP
это выглядит как отличная идея
Это потому, что "Httponly" в вашем ответе HTTP, а это означает, что из-за спецификаций можно просматривать только http-соединение.
response.info()
.