[英]What is the equivalent curl command for this python requests POST request?
example.py
url="http://authserver:5000/account"
params ={'username': username,'email': email, 'password': password}
data = requests.post(url=url, params=params)
上面的这个例子有效。
我想我的问题就是,以上发布请求的等效curl命令是什么?
有点令人尴尬的问题,但是我已经阅读了文档并检查了SO,但找不到答案,更不用说我曾经能够做到这一点而忘记了如何做。
我目前正在尝试:
curl -d http://authserver:5000/account "user=test, email=test, password=test"
但是尝试了许多其他变体,并且所有连接均失败,连接被拒绝。
等效于:
curl -X POST 'http://authserver:5000/account/?username=test&password=password&email=me@email.com'
一些提示可以找到答案:
编写一个简单的脚本来转储http请求的详细信息:
#!/usr/bin/env python2
# -*- coding: utf-8 -*-
from flask import Flask, request
app = Flask("HttpDump")
@app.route("/account/", methods=['POST'])
def postAirService():
print 'Headers: '
print request.headers
print 'Payload: '
print request.data
if __name__ == '__main__':
app.run(host='0.0.0.0', port=6789, debug=False)
然后针对它运行您的脚本,它将获得以下信息:
Headers:
Content-Length: 0
User-Agent: python-requests/2.11.1
Connection: keep-alive
Host: localhost:6789
Accept: */*
Content-Type:
Accept-Encoding: gzip, deflate
Payload:
127.0.0.1 - - [22/Mar/2017 05:45:49] "POST /account/?username=test&password=passwd&email=me%40email.com HTTP/1.1" 200 -
尝试这个 :
curl -d "user=test&email=test&password=test" http://authserver:5000/account
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.