[英]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.