Last Updated on

requests是常用的请求库,不管是写爬虫脚本,还是测试接口返回数据等。都是很简单常用的工具。

这里就记录一下如何用requests发送json格式的数据,因为一般我们post参数,都是直接post,没管post的数据的类型,此时其默认类型为:

application/x-www-form-urlencoded。

但是,我们写程序的时候,最常用的接口post数据的格式是json格式。当我们需要post json格式数据的时候,怎么办呢,有两种方法:

1,在header中指定数据类型

详见如下代码:

import requests
import json
 
data = {
    'a': 123,
    'b': 456
}
 
## headers中添加上content-type这个参数,指定为json格式
headers = {'Content-Type': 'application/json'}
 
## post的时候,将data字典形式的参数用json包转换成json格式。
response = requests.post(url='url', headers=headers, data=json.dumps(data))

2,使用json参数

现在较新版本的requests的post方法,已经默认提供一个json的参数,直接传入字典数据,自动完成以上的传话,使用json格式传输数据。

代码如下:

import requests
 
data = {
    'a': 123,
    'b': 456
}
 
## post的时候,使用json参数
response = requests.post(url='url', json=data)

OK,就是这么简单,就可以发送json格式数据。