python 使用urllib3发起post请求,携带json参数

2024-01-07 18:02:25

当通过python脚本,发起http post请求,网络上大多是通过fields传递数据,然而这样,服务器收到的请求,但无法解析json数据。类似这些链接:

Python urllib3库使用指南

软件测试|Python urllib3库使用指南?

python发起网络请求模块【requests、selenium、urllib、urllib3】

里面大多采用fields传递数据,但这样,服务器无法解析,特别是解析json的接口。

所以field应该有做它用,但不是传递json数据的。

import urllib3

http = urllib3.PoolManager()

data = {
    'name': 'theshy',
    'team': 'wbg'
}

url = "https://www.baidu.com"
response = http.request('POST', url, fields=data)

print(response.data)

在request方法中,通过json字段传递数据,而且不需要手动json.dumps,这样请求,服务器是能解析json数据的。

import urllib3
http = urllib3.PoolManager()
back = {'result': True, 'perModelId': 98, 'message': "成功"}
http.request(
'POST',
 "192.168.100.127/model/download", 
headers={'Content-Type':'application/json'},
 json=back)

文章来源:https://blog.csdn.net/qq_42190134/article/details/135381396
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。