博主辛苦了,我要打赏银两给博主,犒劳犒劳站长。
【摘要】python 是数据处理中比较常用的语言,很多时候可以用来请求接口数据然后进行相关的存储操作,本文给出一个具体实例用于在 python 3 中发送 post 请求并设置 header 协议头以及 body 数据,采用 json 格式。
以下是完整的代码:
import urllib3
import json
data = {
"username": "mafutian",
"password": "abc123",
"data": {
"clVehicleId": "1234567890"
}
}
encoded_data = json.dumps(data).encode("utf-8")
http = urllib3.PoolManager()
r = http.request(
"POST",
"http://123.123.123.123/",
body = encoded_data,
headers = {
'x-env-code':'mafutian',
'content-type':'application/json;charset=UTF-8'
}
)
if r.status == 200:
reponse = r.data
if len(reponse) > 0:
j = json.loads(reponse)
print(j)
另外给出 get 请求方式(不带参数):
import urllib3
import json
r = http.request('GET', 'http://www.mafutian.net/')
print(r.status) # 200
print(r.data.decode())# 获得html源码,utf-8解码
get 带参数:
import urllib3
import json
urllib3.disable_warnings()
http = urllib3.PoolManager()
header = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.108 Safari/537.36'}
data = {'wd': 'hello'}
timeout = 3
retries = 5 # 请求重试的次数为5
r = http.request('GET','https://www.baidu.com/s?',fields = data,headers = header,timeout = timeout,retries = retries)
print(r.status) # 200
print(r.data.decode())
版权归 马富天个人博客 所有
本文标题:《Python 3.5 利用 Urllib3 包发送 post 请求并设置 header 和 body 中携带 json 格式数据》
本文链接地址:http://www.mafutian.com/417.html
转载请务必注明出处,小生将不胜感激,谢谢! 喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^
顶2
踩0
评论审核未开启 |
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
||