簡體   English   中英

這個python請求POST請求的等效curl命令是什么?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM