python 獲取以python 腳本提交的數據&以 curl 方式提交的 json / form 數據

一、以 curl 方式 發送請求

1、json格式數據

curl -H "Content-Type:Content-Type:application/json" -X POST -d '{"original_ip": "10.20.181.211", "host_name":["10.0.0.53"]}' http://ip:port/apis/getrestoreresult/

 python解析發送的請求

def getrestoreresult(request): 
    if request.method == 'POST':
        print(request.method)
        ipaddr = json.loads(request.body.decode("utf8")).get("original_ip")    #獲取以json的格式提交數據
        hostiplist = json.loads(request.body.decode("utf8")).get("host_name")
        print("ipaddr : ",ipaddr)
        print("hostlist : ", hostiplist)

結果:

 

2、form數據:

curl -H "Content-Type:application/x-www-form-urlencoded" -X POST -d "original_ip=10.20.181.211&host_name=1.2.3.4&host_name=10.0.0.53" http://ip:port/apis/getrestoreresult/

host_name=1.2.3.4&host_name=10.0.0.53   #相當於host_name=['1.2.3.4','10.0.0.53']

python解析form數據:

def getneedRestoreIP(request):
    if request.method == 'POST':
        print(request.method)
        ipaddr = request.POST.get('original_ip')
        hostiplist = request.POST.getlist('host_name')

二、以Python方式

 Python方式發送request請求

# -*- coding: utf-8 -*-
import requests
import json

url="http://ip:port/apis/getrestoreresult/"
data = {
    'original_ip': '10.20.181.211',
    'original_port': '3306',
    'host_name': [
        '10.0.0.53', 
        '10.24.149.73',
        '1.12.13.12'
    ]
}
headers = {'Content-type': 'application/json'}
response = requests.post(url,data=json.dumps(data),headers=headers)
print(response.text)

 Python解析請求

def getneedRestoreIP(request):
    if request.method == 'POST':
        print(request.method)
        ipaddr = request.POST.get('original_ip')
        port = request.POST.get('original_port')
        hostiplist = request.POST.getlist('host_name')

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章