首页 > 解决方案 > 使用python和curl将数据插入MySQL

问题描述

我正在开发一个小程序,它将通过 curl 获得的数据插入到 MySQL 数据库中。不幸的是,我没有发现任何与我的问题相似的地方,所以如果你有什么想法 - 请指出我。这是我到目前为止尝试过的

import os
import pymysql
from flask import Flask, request
app = Flask(__name__)

db = pymysql.connect("127.0.0.1","meeting_admin","password","rooms")
cur = db.cursor()

@app.route('/book_room', methods = ['POST'])
def book_room():
  try:
   room = request.form['room']
   book_date = request.form['book_date']
   booked_by = request.form['booked_by']
   cur.execute("INSERT INTO booked_rooms(room, book_date, booked_by) 
 VALUES ('%c', '%d', '%s')",(room, book_date, booked_by))
   db.commit()
   cur.close()
   return "OK\n", 200
 except:
   db.rollback()
   return "Smth went wrong", 500

db.close()

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

curl命令是:

curl -H "Content-type: application/json" -X POST /
http://127.0.0.1:5000/book_room -d / 
'{room=602,book_date:27-08-2019,booked_by="someone"}'

我得到的是:

File "server_flask.py", line 23, in book_room
room = request.form['room']
File "/usr/local/lib/python3.5/dist- 
packages/werkzeug/datastructures.py", line 431, in __getitem__
raise exceptions.BadRequestKeyError(key)
werkzeug.exceptions.HTTPException.wrap.<locals>.newcls: 400 Bad 
Request: The browser (or proxy) sent a request that this server could 
not understand.

提前致谢。

标签: pythonmysqlcurlflask

解决方案


推荐阅读