一、四种常见POST请求
requests是使用python编写实现的http库,支持使用cookie保持会话,支持文件上传,支持自动响应内容的编码,支持国际化的URL和POST数据自动编码。
requests会自动实现持久连接keep-alive
针对HTTP的POST请求,以下对Content-Type的四种格式使用requests实现进行说明。
1.1 application/x-www-form-urlencoded 格式
application/x-www-form-urlencoded是POST请求最常见,也是默认的格式。它要求数据字段名称和值之间以等号连接,与另一组数据字段之间用&连接;以form表单形式提交数据。
1 |
|
以下是使用requests的示例代码
1 |
|
如使用类来组织请求参数,请参照以下的示例代码
1 |
|
1.2 application/json 格式
application/json 格式的请求头部用于通知服务器,通过POST请求提交的消息主体(body)是序列化后的JSON字符串。以下是使用requests的示例代码
1 |
|
如使用类来组织请求参数,请参照以下的示例代码
1 |
|
1.3 text/xml 格式
text/xml 格式的请求头部用于通知服务器,通过POST请求提交的消息主体(body)是序列化后的 xml 字符串。以下是使用requests的示例代码
1 |
|
1.4 multipart/form-data 格式
multipart/form-data 格式应用于文件上传功能的表单,以下是使用requests的示例代码
1 |
|
二、GET请求
2.1 无参数实例
1 |
|
2.2 有参数实例
我们可以通过程序将参数按 GET 请求的要求,使用字符串拼接的方式来完成参数的拼接,也可以将参数以字典的形式,传入给 requests,由 requests 完成转换的工作。
1 |
|
如使用类来组织请求参数,请参照以下的示例代码
1 |
|
三、Session
经常很多请求只有在登录后才能进行,实现登录效果一般的做法是执法登录请求,然后从返回结果中提取sessionid放入自定义cookie中。
requests提供了更简单的方法,直接使用 requests.Session 类请求即可,其保持登录是保留之前请求中服务端通过 set-cookie 等设置的参数。
1 |
|