urllib2自定义handler

本文介绍如何使用Python的urllib2库自定义Handler处理器,实现HTTP请求的处理及debug模式的开启,展示了收发包信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1-自定义handler和使用urlopen方法得到的结果是一样的

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib2

# 构建一个HTTPHandler处理器对象,支持处理HTTP的请求
http_handler = urllib2.HTTPHandler()


# 调用build_opener()方法构建一个自定义的opener对象,参数是构建的处理器对象
opener = urllib2.build_opener(http_handler)

request = urllib2.Request("http://www.baidu.com/")

response = opener.open(request)

print response.read()

2-使用自定义handler并打开debug模式

#!/usr/bin/env python
# -*- coding:utf-8 -*-

import urllib2

# 构建一个HTTPHandler处理器对象,支持处理HTTP的请求
# 在HTTPHandler增加参数"debuglevel=1"将会自动打开Debug log 模式,
# 程序在执行的时候会打印收发包的信息
http_handler = urllib2.HTTPHandler(debuglevel=1)

# 调用build_opener()方法构建一个自定义的opener对象,参数是构建的处理器对象
opener = urllib2.build_opener(http_handler)

request = urllib2.Request("http://www.baidu.com/")

response = opener.open(request)

#print response.read()

以下是打开debug模式后的输出信息

send: 'GET / HTTP/1.1\r\nAccept-Encoding: identity\r\nHost: www.baidu.com\r\nConnection: close\r\nUser-Agent: Python-urllib/2.7\r\n\r\n'
reply: 'HTTP/1.1 200 OK\r\n'
header: Bdpagetype: 1
header: Bdqid: 0xd8ca71d90005096c
header: Cache-Control: private
header: Content-Type: text/html
header: Cxy_all: baidu+f3c2f72031ddbf5ea97a886abbaf0a06
header: Date: Mon, 19 Aug 2019 12:23:25 GMT
header: Expires: Mon, 19 Aug 2019 12:23:14 GMT
header: P3p: CP=" OTI DSP COR IVA OUR IND COM "
header: Server: BWS/1.1
header: Set-Cookie: BAIDUID=02A2E1F679C740C48976DBF75CF586FD:FG=1; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
header: Set-Cookie: BIDUPSID=02A2E1F679C740C48976DBF75CF586FD; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
header: Set-Cookie: PSTM=1566217405; expires=Thu, 31-Dec-37 23:55:55 GMT; max-age=2147483647; path=/; domain=.baidu.com
header: Set-Cookie: delPer=0; path=/; domain=.baidu.com
header: Set-Cookie: BDSVRTM=0; path=/
header: Set-Cookie: BD_HOME=0; path=/
header: Set-Cookie: H_PS_PSSID=26522_1437_21106_29522_29518_29098_29567_29220_26350_29460_29589; path=/; domain=.baidu.com
header: Vary: Accept-Encoding
header: X-Ua-Compatible: IE=Edge,chrome=1
header: Connection: close
header: Transfer-Encoding: chunked

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值