1.HTTP协议的定义
http全称Hypertext Transfer Protocol 超文本传输协议
最初发明它是用来在浏览器和web服务器之间传输超文本信息的
HTTP版本:0.9,1.0,1.1(目前使用最广泛),2
2.HTTP请求
包含以下内容:
(1)请求行
(2)请求头
(3)空行
(4)消息体:Json、xml、www-form-urlencoded
常用请求的方法:
GET 请求获取Request-URI所标识的资源
POST 在Request-URI所标识的资源后附加新的数据
HEAD 请求获取由Request-URI所标识的资源的响应消息报头
PUT 请求服务器存储一个资源,并用Request-URI作为其标识
DELETE 请求服务器删除Request-URI所标识的资源
3.HTTP响应
包含以下内容:
(1)状态行
(2)响应头
(3)空行
(4)消息体
4.HTTP状态码
200:OK
400:Bad Request
404:Not Found
500:Internal Server Error
5.请求参数类型
5.1 requests库请求参数类型
请求参数 | 请求头中数据默认类型 | 描述 |
---|---|---|
data | Content-Type:application/x-www-form-urlencoded | 请求体是表单格式,如:a=1&b=2 |
json | Content-Type:application/json | 请求体是json格式,如:{"name":"tom"} |
params | 参数放到url上,如:https://www.baidu.com/s?wd=测试 | |
files | Content-Type:multipart/form-data | 文件上传接口使用 |
5.2 requests库方法发出请求与响应属性对比
请求相关信息 resp.request.xxx | 响应相关信息 resp.xxx |
---|---|
resp.request.url 请求的url | \ |
resp.request.headers 请求头信息 | resp.header 响应头信息 |
resp.request.body 请求体信息 | resp.text 响应体信息 |
5.3 requests 库响应消息体四种格式
响应数据返回格式 | 说明 | 备注 |
---|---|---|
resp.text | 返回字符串类型 | 获取html响应数据/xml格式响应 |
resp.json() | 返回字节类型 | 必须响应数据是json字符串才可以使用,得到是字典类型 |
resp.content | 返回字典类型 | 下载图片/文件时使用 |
resp.raw | 返回原始数据 | 源数据 |