以下是我的瓶的应用程序代码,这是很基本的:卷曲发送POST请求瓶Python应用程序失败
from models import Base, User
from flask import Flask, jsonify, request, url_for, abort
from sqlalchemy.ext.declarative import declarative_base
from sqlalchemy.orm import relationship, sessionmaker
from sqlalchemy import create_engine
from flask import Flask
engine = create_engine('sqlite:///users.db')
Base.metadata.bind = engine
DBSession = sessionmaker(bind=engine)
session = DBSession()
app = Flask(__name__)
@app.route('/api/users', methods = ['POST'])
def new_user():
username = request.json.get('username')
password = request.json.get('password')
print username
print password
if __name__ == '__main__':
app.debug = True
app.run(host='127.0.0.1', port=5000)
,并使用curl
使用命令行来发送HTTP POST请求如下:
curl -i -X POST -H "Content-Type: application/json" -d '{"username":"abc","password":"123"}' http://localhost:5000/api/users
,但得到的400 BAD REQUEST
错误BTW,我运行这个程序,在cmd中的窗口。
任何帮助将受到欢迎,在此先感谢。
编辑:
调试完毕后,之后的问题来自
username = request.json.get('username')
password = request.json.get('password')
这两个命令。如果注释掉上述两行,curl请求可以成功。但还是不知道
你能追加完整的回溯?只是'400坏请求'可能无法提供足够的信息。 –
添加图片以显示消息。但没有回溯信息。 –
我无法重现您的错误。错误及其发生的线条表明您没有使用有效的json发布应用程序/ json请求,但是根据您发布的内容,您做了。 – davidism