Python学习-19.Python的Http模块

模拟 http 请求是比较常见的一种需求,在 Python 中,使用 http 模块操作。

 1 import http.client
 2             
 3 # 创建 Http 连接。
 4 http = http.client.HTTPConnection('www.baidu.com')
 5 # 设置请求,第一个参数为请求方法,第二个参数为请求的页面。
 6 http.request('GET','/')
 7 # 获取百度主页的内容,返回的是一个 bytes。
 8 html = http.getresponse().read()
 9 # 关闭 Http 连接。
10 http.close()
11 
12 # 新建文件,并使用 utf-8 编码,否则写入时会出错。
13 file = open(r'e:\temp\baidu.html','w',encoding='utf-8')
14 # 写入解码后的 Html 内容。
15 file.write(html.decode())
16 # 关闭文件。
17 file.close()

值得注意的是,我们需要设置好编码,在Python中,open新建的文件默认是ascii的,而我们获取到的内容是unicode的,因此直接写入的话会出错。在命令行模式下输出同理,因为命令行的编码模式是gbk。

posted @ 2014-09-27 23:45  h82258652  阅读(1091)  评论(0编辑  收藏  举报