@app.route('/users', methods=['GET', 'POST'])
def users():
print "Hello, World!"
print(request.data)//同:request.get_data()
print(request.json)
如何获取request的参数
在于客户端请求头Headers中参数:Content-Type的设置
以及传参的方式
一、Content-Type:application/json
import requests
url = "http://127.0.0.1:5000/api/registerUser"
payload = "{\n\t\"username\":\"788\",\n\t\"password\":\"rui\"\n}"
headers = {
'Content-Type': "application/json",
'Authorization': "Basic MTUyMzgzNzE3MTM6MXFhejJ3c3g=",
'User-Agent': "PostmanRuntime/7.15.0",
'Accept': "*/*",
'Cache-Control': "no-cache",
'Postman-Token': "b05a50fc-aa0b-42ab-a979-c7b8844b04ee,67ec1de5-247b-415c-a7aa-f110a9dea486",
'Host': "127.0.0.1:5000",
'accept-encoding': "gzip, deflate",
'content-length': "40",
'Connection': "keep-alive",
'cache-control': "no-cache"
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
此时 :
通过request.data 获得的数据是json字符串,要序列化json.loads(request.data)才能能用。
通过request.json 取得的数据就是json数据,可以直接使用。
value = request.json.get('key')
二、 Content-Type:application/x-www-form-urlencoded
import requests
url = "http://127.0.0.1:5000/api/registerUser"
querystring = {"username":"body12"}
headers = {
'Content-Type': "application/x-www-form-urlencoded",
'Authorization': "Basic MTUyMzgzNzE3MTM6MXFhejJ3c3g=",
'User-Agent': "PostmanRuntime/7.15.0",
'Accept': "*/*",
'Cache-Control': "no-cache",
'Postman-Token': "bbd54eda-acbf-47af-9b60-0df7f014d490,db8b1060-87dc-46eb-8bf6-72dd701db4a0",
'Host': "127.0.0.1:5000",
'accept-encoding': "gzip, deflate",
'content-length': "",
'Connection': "keep-alive",
'cache-control': "no-cache"
}
response = requests.request("POST", url, headers=headers, params=querystring)
print(response.text)
可以通过 request.args获取参数
print(request.args)
print(request.args.get('username'))
当然你可以通过输出看区别:
- request.form
- request.args
- request.querystring
- request.data
- request.json
网友评论