python中Requests发送json格式的post请求方法

一、post请求传body的参数有两种:data和json,那么我们来看一下python各种数据结构做为body传入的表现1.普通string类型

string2 = "2222222"
r = requests.post("http://httpbin.org/post", data=string2)
print(r.text)

二、string内是字典的

import requests
string = "{'key1': 'value1', 'key2': 'value2'}"
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

三、元组(嵌套列表或者)

import requests
string = (['key1', 'value1'],)
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

四、json

import requests
import json

dic = {'key1': 'value1', 'key2': 'value2'}
string = json.dumps(dic)
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

五、传入非嵌套元组或列表

 

string = ['key1','value1']
r = requests.post("http://httpbin.org/post", data=string)
print(r.text)

六、以post(url,json=data)请求

dic = {'key1': 'value1', 'key2': 'value2'}
r = requests.post("http://httpbin.org/post", json=dic)
print(r.text)

 

七、文件

import requests
url = "http://www.xxxx.net/login"
 
#参数拼凑,附件上传格式如picurl参数,其他表单参数值拼成tuple格式:
2-tuples (filename, fileobj),
3-tuples (filename, fileobj, contentype),
4-tuples (filename, fileobj, contentype, custom_headers)
 
files = {"username": (None"billy"), "password": (None"abcd1234"),
  'picUrl': ('pic.png'open('E:\\download\\pic.png''rb'), 'image/png')}
vjson = {"files": {"json": (None, json.dumps({"judgedate": "2023-07-07"}))}}
#如需headers,不需要赋值Content-Type,不然可能会报错
res = requests.post(url, files=files)
print res.request.body
print res.request.headers

 

posted @ 2023-07-11 11:32  电磁感应  阅读(3231)  评论(0)    收藏  举报