赞
踩
HTTP 协议:一般指HTTP(超文本传输)协议。
HTTP是为Web浏览器和Web服务器之间的通信而设计的,基于TCP/IP通信协议嘞传递数据。
客户端发送一个HTTP请求到服务器的请求消息包括以下格式
HTTP相应也由四个部分组成
HTTP请求头提供了关于请求,响应或者其他的发送实体的信息。
以下是一些例子
Connect-Type: text/html; charset=utf-8
type/subtype
HTTP请求方法有很多种,其中1.0版本有 GET、POST、HEAD三种,1.1版本又新增了六种。
HTTP状态码由三个十进制数字组成,第一个十进制数字定义了状态码的类型,共五类。
直接上代码,urllib发送get请求
from urllib import request
with request.urlopen('http://httpbin.org/get') as f:
data = f.read() #f.read()返回响应正文
#print(data.decode('utf-8'))
#直接输出结果,需要解码
#输出结果到文件
with open('get_response.text', 'wb') as f:
f.write(data)
最简单的发送get请求的方法,使用openurl函数,尽管这个函数能实现的功能较为有限。
http://httpbin.org/get
可以帮助学习如何发送get请求。响应的正文包含了get请求的相关信息。
with
语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭/线程中锁的自动获取和释放等。
以下是响应的正文部分:
{
"args": {},
"headers": {
"Accept-Encoding": "identity",
"Host": "httpbin.org",
"User-Agent": "Python-urllib/3.12",
"X-Amzn-Trace-Id": "Root=1-65d7213d-6d15d2b651139df358d943b7"
},
"origin": "42.229.145.105",
"url": "http://httpbin.org/get"
}
该网址返回的正文是请求的响应信息
args
可以通过url直接带入:http://httpbin.org/get?name=Bob&job=teacher
headers
请求头中可以看出,User-Agent就是我们使用的库函数,一些网站需要将User-Agent
指定为常用的浏览器。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。