簡體   English   中英

如何在 Python 中調用 rest API 並使用 Z319C3206A7F6D4D4A6791 請求表單數據

[英]How to call rest API in Python with requested form data using flask

下面是Python 腳本

我有一個包含 3 個字段的 HTML 表單:公司、email 和密碼。 當用戶提交表單時,我想將這些數據作為請求發送到另一個 REST API 並且我正在使用以下腳本。

單擊提交按鈕后,我收到 400 Bad Request Error 並且我不確定我使用的方法是否正確。 我對 Python 很陌生。 你能幫我完成這件事嗎?

from flask import Flask, render_template, request
import requests
app = Flask(__name__)
    
@app.route('/') 
def student():
   return render_template('form.html')
    
@app.route('/result', methods = ['POST', 'GET'])    
def result():
   url = "http://214.124.195.165/api/v1/users/sign-up"
   if request.method == 'POST':
       email = request.form.get('email')
       password = request.form.get('password')
        company = request.form.get('company')  
        json_data = { "email":email, "company": company, "password": password}
    
        headers = {'Content-type':'application/json', 'Accept':'application/json'}
        response = requests.post(url, json_data, headers=headers)
        return response.json()

if __name__ == '__main__':
   app.run(debug = True)

下面是 HTML 代碼

<html>
   <body>
      <form action = "http://localhost:5000/result" method = "POST">
         <p>email <input type = "text" name = "email" /></p>
         <p>password <input type = "text" name = "password" /></p>
         <p>company <input type = "text" name = "company" /></p>
         <p><input type = "submit" value = "submit" /></p>
      </form>
   </body>
</html>

我收到以下錯誤:

error": "Bad Request",
"message": "JSON parse error: Unrecognized token 'email': was expecting ('true', 'false' or 'null'); nested exception is com.fasterxml.jackson.core.JsonParseException: Unrecognized token 'email': was expecting ('true', 'false' or 'null')\n at [Source: (PushbackInputStream); line: 1, column: 7]",
"path": "/user/sign-up",
"status": 400,
"timestamp": "2021-01-06T12:24:54.293+0000"
}

我想使用 Python Z9784E91C7BAF267879 將提交的(公司、email、密碼)數據發送到 API 當我提交表單時,我收到 400 Bad Request。 我是 Python 的新手。 你能幫忙得到嗎?

以格式發送數據

requests.post(url, json=json_data, headers=headers)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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