为什么我从错误的API端点得到响应?

时间:2019-03-21 15:26:05

标签: python flask

我最初是遵循这个tutorial的,我试图使用带有URL的邮递员来获得回复

ec2-x-x-xxx-xx.eu-west-2.compute.amazonaws.com/:8080

,但是它不会返回响应,因此我尝试了在最后没有/的情况下返回了我想要的结果,为什么会发生这种情况,因为我的烧瓶路径中显然有一个/

我的烧瓶应用看起来像这样

from flask import Flask

application = Flask(__name__)

@application.route("/")
def hello():
    return "<h1 style='color:blue'>Hello There!</h1>"

if __name__ == '__main__':
    application.run(host="0.0.0.0", port="8080")

2 个答案:

答案 0 :(得分:4)

URL的各个部分的顺序很重要。

URL

ec2-x-x-xxx-xx.eu-west-2.compute.amazonaws.com/:8080

将尝试使用端口80,并寻找路径/:8080

ec2-x-x-xxx-xx.eu-west-2.compute.amazonaws.com:8080/

将尝试端口8080并查找路径/

答案 1 :(得分:1)

您在这里混淆了两个不同的概念。

@application.route("/")行定义了网站的根目录。如果您在浏览器中输入站点地址,但末尾没有/about,则这是默认的入口点或路径。

地址ec2-x-x-xxx-xx.eu-west-2.compute.amazonaws.com:8080是Web服务器地址和端口的组合,用冒号分隔。如果您更改此地址,您将不会得到回应。您可以在8080之后添加“ /”以进入特定页面。