11.5. 设置 User-时时彩计划软件公式

改善你的 HTTP web 服务客户端的第一步就是用 User-时时彩计划软件公式 适当地鉴别你自己。为了做到这一点,你需要远离基本的 urllib 而深入到 urllib2

例 11.4. urllib2 介绍

>>> import httplib
>>> httplib.HTTPConnection.debuglevel = 1                             
>>> import urllib2
>>> request = urllib2.Request('http://www.bhlaab.com/818/xml/atom.xml') 
>>> opener = urllib2.build_opener()                                   
>>> feeddata = opener.open(request).read()                            
connect: (diveintomark.org, 80)
send: '
GET /xml/atom.xml HTTP/1.0
Host: diveintomark.org
User-agent: Python-urllib/2.1
'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Wed, 14 Apr 2004 23:23:12 GMT
header: Server: Apache/2.0.49 (Debian GNU/Linux)
header: Content-Type: application/atom+xml
header: Last-Modified: Wed, 14 Apr 2004 22:14:38 GMT
header: ETag: "e8284-68e0-4de30f80"
header: Accept-Ranges: bytes
header: Content-Length: 26848
header: Connection: close
如果你的 Python IDE 仍旧为上一节的例子而打开着,时时彩计划软件公式:你可以略过这一步,在开启 HTTP 调试时你能看到网络线路上的实际传输过程。
使用 urllib2 获取 HTTP 资源包括三个处理步骤,这会有助于你理解这一过程。 第一步是创建 Request 对象,它接受一个你最终想要获取资源的 URL。注意这一步实际上还不能获取任何东西。
第二步是创建一个 URL 开启器 (opener)。它可以接受任何数量的处理器来控制响应的处理。但你也可以创建一个没有任何自定义处理器的开启器,在这儿你就是这么做的。你将在本章后面探究重定向的部分看到如何定义和使用自定义处理器的内容。
最后一个步骤是,使用你创建的 Request 对象告诉开启器打开 URL。因为你能从获得的信息中看到所有调试信息,这个步骤实际上获得了资源并且把返回数据存储在了 feeddata 中。

例 11.5. 给 Request 添加头信息

>>> request                                                
<urllib2.Request instance at 0x00250AA8>
>>> request.get_full_url()
http://www.bhlaab.com/387/xml/atom.xml
>>> request.add_header('User-时时彩计划软件公式',
...     'OpenAnything/1.0 +http://www.bhlaab.com/594/')    
>>> feeddata = opener.open(request).read()                 
connect: (diveintomark.org, 80)
send: '
GET /xml/atom.xml HTTP/1.0
Host: diveintomark.org
User-agent: OpenAnything/1.0 +http://www.bhlaab.com/462/   
'
reply: 'HTTP/1.1 200 OK\r\n'
header: Date: Wed, 14 Apr 2004 23:45:17 GMT
header: Server: Apache/2.0.49 (Debian GNU/Linux)
header: Content-Type: application/atom+xml
header: Last-Modified: Wed, 14 Apr 2004 22:14:38 GMT
header: ETag: "e8284-68e0-4de30f80"
header: Accept-Ranges: bytes
header: Content-Length: 26848
header: Connection: close
继续前面的例子;你已经用你要访问的 URL 创建了 Request
使用Request 对象的 add_header 方法,你能向请求中添加任意的 HTTP 头信息。第一个参数是头信息,第二个参数是头信息的值。User-时时彩计划软件公式 的约定格式是:应用名,跟一个斜线,跟版本号。剩下的是自由的格式,你将看到许多疯狂的变化,但通常这里应该包含你的应用的 URL。和你的请求的其他信息一样,User-时时彩计划软件公式 会被服务器纪录下来,其中包含你的应用的 URL。如果发生错误,服务器管理员就能通过查看他们的访问日志与你联系。
之前你创建的opener 对象也可以再生,且它将再次获得相同的 feed,但这次使用了你自定义的 User-时时彩计划软件公式 头信息。
这就是你发送的自定义的 User-时时彩计划软件公式,代替了 Python 默认发送的一般的 User-时时彩计划软件公式。若你继续看,会注意到你定义的是 User-时时彩计划软件公式 头信息,但实际上发送的是 User-agent 头信息。看看有何不同?urllib2 改变了大小写所以只有首字母是大写的。这没问题,因为 HTTP 规定头信息的字段名是大小写无关的。
时时彩充值被骗怎么办 重庆时时彩五星通选 私彩平台哪个好 彩精灵时时彩软件准不 重庆时时彩代理返点
时时彩大底验证软件 银狐平台是哪里的老板 oa时时彩平台出租 上海时时彩软件 时时彩龙虎开奖记录
江西时时彩破解 优游时时彩平台登录 时时彩软件城通网盘 正版大龙虾时时彩软件 重庆时时彩稳赚方法
时时彩娱乐平台注册 时时彩官方走势图 重庆时时彩宝典版本 时时彩五星和值 吉林时时彩开奖号查询
香港六合彩官网 pc蛋蛋预测凤凰 福建快3开奖结果27期 上海十一选五计划软件手机版 上海二八杠单人操作
马会官方唯一指定官网 福建36选7走势图 福 香港赛马会论坛 彩之网3d试机号 时时彩开奖号码
快乐8规则 山东群英会23选5 pk10开奖结果记录查询 新疆时时彩遗漏 广东11选5任3
河南快三走势一定牛 北京时时彩一天多少期 极速飞艇秘诀 广东快乐十分开奖 广西快乐双彩走势图开奖结果