簡體   English   中英

Python:無法使用 flask 應用程序連接到本地主機

[英]Python : unable to connect to localhost using flask app

我是 Flask 的初學者,我們在大學運行一個簡單的 web 應用程序,您可以在其中連接到本地主機並獲得簡單的 Hello World 文本。 但是,當我嘗試在 flask 應用程序加載以下代碼后運行該應用程序時:

* 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/ 但結果是一樣的。 下面是 web 應用程序的代碼:

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 連接到本地主機的情況下終止我的應用程序。 非常感謝您的回復

如果我正確理解您的問題,那是您無法從服務器取回您網站的響應。

這是完全有道理的。 您正在運行您的應用程序,然后在您按下“CTRL + C”時停止它。

然后您嘗試連接到您已經停止的服務器。 您需要讓服務器保持運行(不要按“CTRL + C”),然后使用 web 瀏覽器並輸入http://0.0.0.0:5000/ ,您應該會看到您的“hello world”返回。

或者,您可以在終端/命令提示符中打開一個單獨的選項卡並使用 curl 命令。

你自己說的:

然后我按 CTRL +C 退出

那是當您終止服務器時,它就會停止存在,並且顯然不接受任何傳入連接。

您需要讓進程保持運行,直到您想要終止它。 因此,go 到另一個終端,無需先終止服務器,然后您將看到 curl 設法檢索頁面。

您正在終止應用程序。 而是按CTRL + T打開一個新選項卡。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM