Python Flask,连接另一个url

时间:2017-05-10 10:41:21

标签: python url flask flask-restful

我简化了对这个简单代码的要求

from flask import Flask, request
import requests

app = Flask(__name__)

@app.route('/', methods=['POST'])
def root():
    payload = {'Message': 'yo','Port':'123'}
    r = requests.post("http://127.0.0.1:5000/test", data=payload)
    return r.text


@app.route('/test', methods=['POST'])
def test():
    return request.form['Message']+','+request.form['Port']

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

我已经通过谷歌邮递员测试了网址“127.0.0.1:5000/test”。
我将数据发送到网址,并且工作正常,可以返回我想要的结果。

我创建了另一个.py来测试网址。它也可以显示我想要的结果。

import requests

payload = {'Message':'yo','Port':'123'}
r = requests.post("http://127.0.0.1:5000/test", data=payload)
print r.text

然后我在下面添加相同的代码

@app.route('/', methods=['POST'])
def root():

我想使用网址'127.0.0.1:5000/'将数据发送到'127.0.0.1:5000/test'(我也使用google的邮递员)
并且它无法工作......它总是显示'正在加载......'

有没有更好的方法来实现我的要求?
我会非常感谢你〜!!

1 个答案:

答案 0 :(得分:-1)

而不是发送本地POST请求,这需要花费更长的时间,只需让它们都路由到同一个函数,并设置默认值。

@app.route('/', methods=['GET'])
@app.route('/test', methods=['POST'])
def test():
    return request.form.get('Message', 'yo') + ',' + request.form.get('Port', '123')

哪个会对/test上的所有POST请求做出正常响应,并且对/有一个GET,它与POST {'Message': 'yo', 'Port': '123'}/test的工作方式相同