Python:无法使用 Flask 应用程序连接到本地主机
Python : unable to connect to localhost using flask app
我是 Flask 的初学者,我们 运行 大学里的一个简单网络应用程序,您可以在其中连接到本地主机并获得简单的 Hello World 文本。但是,当我尝试 运行 烧瓶应用程序加载以下代码后的应用程序时:
* Serving Flask app "my_app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
然后我按 CTRL +C 退出,然后我尝试 运行 我的应用程序使用命令
连接到网页
curl localhost:5000/
我收到错误消息:
curl : Prefix of URI not recognised.
At line:1 char:1
+ curl localhost:5000/
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotImplemented: (:) [Invoke-WebRequest], NotSupportedException
+ FullyQualifiedErrorId :
WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
我试过将命令更改为 curl.exe localhost:500/ 但结果是一样的。我的网络应用程序代码如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/<name>')
def hello_name(name):
return f'Hello {name}!\n'
if __name__ == '__main__':
app.run(host='0.0.0.0')
非常感谢您帮助我指导 运行 我的应用程序。提前谢谢你。
编辑:问题很简单,我会在不打开 shell 连接到 localhost 的情况下终止我的应用程序。非常感谢您的回复
如果我对您的问题的理解正确,那是您无法从服务器取回您网站的响应。
这完全有道理。您是 运行 您的应用程序,然后在您点击 'CTRL + C' 时停止它。
那么您正在尝试连接到您已经停止的服务器。您需要离开服务器 运行(不要点击 'CTRL + C'),然后使用网络浏览器并输入 http://0.0.0.0:5000/,您应该会看到 'hello world' 返回。
或者,您可以在 terminal/command 提示符下打开一个单独的选项卡并使用 curl 命令。
你自己说的:
Then i press CTRL +C to quit
那是当您终止服务器时,它就会不复存在,并且显然不会接受任何传入连接。
您需要离开进程 运行 直到您想要终止它。因此,转到另一个终端,而不先终止服务器,然后您将看到 curl 设法检索页面。
您正在终止该应用程序。而是按 CTRL+T 打开一个新标签页。
我是 Flask 的初学者,我们 运行 大学里的一个简单网络应用程序,您可以在其中连接到本地主机并获得简单的 Hello World 文本。但是,当我尝试 运行 烧瓶应用程序加载以下代码后的应用程序时:
* Serving Flask app "my_app" (lazy loading)
* Environment: production
WARNING: This is a development server. Do not use it in a production deployment.
Use a production WSGI server instead.
* Debug mode: off
* Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
然后我按 CTRL +C 退出,然后我尝试 运行 我的应用程序使用命令
连接到网页curl localhost:5000/
我收到错误消息:
curl : Prefix of URI not recognised.
At line:1 char:1
+ curl localhost:5000/
+ ~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotImplemented: (:) [Invoke-WebRequest], NotSupportedException
+ FullyQualifiedErrorId :
WebCmdletIEDomNotSupportedException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand
我试过将命令更改为 curl.exe localhost:500/ 但结果是一样的。我的网络应用程序代码如下:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello World!'
@app.route('/<name>')
def hello_name(name):
return f'Hello {name}!\n'
if __name__ == '__main__':
app.run(host='0.0.0.0')
非常感谢您帮助我指导 运行 我的应用程序。提前谢谢你。
编辑:问题很简单,我会在不打开 shell 连接到 localhost 的情况下终止我的应用程序。非常感谢您的回复
如果我对您的问题的理解正确,那是您无法从服务器取回您网站的响应。
这完全有道理。您是 运行 您的应用程序,然后在您点击 'CTRL + C' 时停止它。
那么您正在尝试连接到您已经停止的服务器。您需要离开服务器 运行(不要点击 'CTRL + C'),然后使用网络浏览器并输入 http://0.0.0.0:5000/,您应该会看到 'hello world' 返回。
或者,您可以在 terminal/command 提示符下打开一个单独的选项卡并使用 curl 命令。
你自己说的:
Then i press CTRL +C to quit
那是当您终止服务器时,它就会不复存在,并且显然不会接受任何传入连接。
您需要离开进程 运行 直到您想要终止它。因此,转到另一个终端,而不先终止服务器,然后您将看到 curl 设法检索页面。
您正在终止该应用程序。而是按 CTRL+T 打开一个新标签页。