[英]Send post request with params in python
我使用 werkzeug 創建了一個 post 路由。
http://localhost:8000/v1/api/<serial_id>/data
def url_map():
tenants = [
Submount(
"/<serial_id>",
[
Rule(
"/data",
methods=["POST"],
endpoint=getData,
)
],
)
]
api = [Submount("/api", api)]
rules = [Submount("/v1", api)]
return Map(rules, strict_slashes=False)
def getData(self, request, serial_id):
logger.error('88888888888888888888888888888888888888888888888888888888888')
logger.error(serial_id)
return {'status': 'ok'}
我正在向路徑發送請求:
requests.post('http://localhost:8000/v1/api/<serial_id>/data',
data= json.dumps({'data':'data'}),
params={'serial_id':1}
)
問題不是打印 1,而是將 serial_id 打印為 <serial_id>。
Expected is:
88888888888888888888888888888888888888888888888888888888888
1
Actual is:
88888888888888888888888888888888888888888888888888888888888
<serial_id>
正如@Md Jewele Islam 在評論中指出的那樣, url
變量必須類似於:
url = 'http://localhost:8000/v1/api/{}/data'.format(str(serial_id))
並且請求必須像這樣發送:
import json
res = requests.post(url , data= json.dumps({'data':'data'}), params={'serial_id':1})
所以你可以通過以下方式打印響應:
print(res.text)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.