编程语言
首页 > 编程语言> > python – Cloud Post是否阻止了HTTP Post?

python – Cloud Post是否阻止了HTTP Post?

作者:互联网

我一直在使用Cloud9 ide上的Python / Flask.到目前为止很有趣.但是当我尝试在我的测试项目中添加一个http帖子时,Flask返回403或500.据我所知,当我附加数据或发送POST方法时,’request’对象为None.但它没有意义.这是非常直接的,应该尽我所能.这是python:

from flask import Flask, jsonify, abort, request
@app.route('/test', methods = ['POST'])
def post():
    print ('started')
    print request
    if request.method == 'POST':
        something = request.get_json()
        print something

Flask正常运行.我可以点击GET网址,返回数据就好了.当我登陆’打印请求’时出现错误,因为请求是无.

谢谢,

解决方法:

你有两个问题:

>你得到500错误
>“某事”总是无

第一个问题是因为你没有从你的路线功能返回任何东西.

127.0.0.1 - - [15/Dec/2014 15:08:59] "POST /test HTTP/1.1" 500 -
Traceback (most recent call last):
  ...snip...
  ValueError: View function did not return a response

您可以通过在函数末尾添加return语句来解决此问题.不要忘记它需要是一个字符串.

@app.route('/hi', methods = ['POST'])
def post():
    return "Hello, World!"

第二个问题不是它看起来的样子.我怀疑该对象不是None,但返回字符串表示的函数返回None,因此这是打印的内容.尝试打印类型(请求)以查看此操作.

我认为你想要访问的是表单字段.这是一个完整的例子:

from flask import Flask, request

app = Flask(__name__) 

@app.route('/test', methods = ['POST'])
def post():
    print type(request)
    if request.method == 'POST':
        print request.form
    return str(request.form)

app.run(debug=True)

标签:python,flask,cloud9-ide
来源: https://codeday.me/bug/20190708/1402571.html