2017-10-19 174 views
-1

當我在瀏覽器中打開鏈接0.0.0.0:5000時,我總是在瀏覽器上看到「此站點無法到達」消息 代碼似乎是工作,因爲我得到的控制檯This site can not be reached [flask,python]

運行在http://0.0.0.0:5000/對此消息(按Ctrl + C退出)

enter image description here

這裏是我使用

0123碼
from flask import Flask, render_template, request 
from scipy.misc import imsave, imread, imresize 
import numpy as np 
import keras.models 
import re 
import sys 
import os 
from load import * 

sys.path.append(os.path.abspath('./model')) 
app = Flask(__name__) 
global model, graph 
model, graph = init() 

def convertImage(imData): 
    imgstr = re.search(r'base64(.*'.imData).group(1) 
    with open('output.png', 'wb') as output: 
     output.write(imgstr.decode('base64')) 

@app.route('/') 
def index(): 
    return render_template('index.html') 

@app.route('/predict', methods=['GET', 'POST']) 
def predict(): 
    imData = request.get_data() 
    convertImage(imData) 
    x = imread('output.png', mode = 'L') 
    x = np.invert(x) 
    x = imresize(x, 48, 48) 
    x = x.reshape(1,48,48,1) 
    with graph.as_default(): 
     out = model.predict(x) 
     response = np.array_str(np.argmax(out)) 
     return response 



if __name__ == "__main__": 
    port = int(os.environ.get('PORT', 5000)) 
    app.run(host='0.0.0.0', port=port) 
+2

0.0.0.0不是一個有效的IP地址,所以你實際上不能連接到它。當服務器說它是「在0.0.0.0上運行」時,這意味着它正在接受任何網絡適配器上的連接,而不是特定的連接。使用127.0.0.1實際連接到機器上運行的服務器。 – kindall

+0

我試過,實際上,它不工作,它使用0.0.0.0:5000之前工作,但現在我不知道什麼是問題 – Oussama

+0

@kindall我發現解決方案和您的意見真的幫助,我將主機更改爲127.0.0.1,但我忘了燒瓶在模板文件夾中查找index.html文件,我沒有放在那裏 – Oussama

回答

1

在一般情況下,此消息

運行於http://0.0.0.0:5000/(按Ctrl + C退出)

通知您將要聽取接受你的PC的IP地址請求。它可以配置爲僅偵聽一個IP地址。

正如評論中所述,如果您嘗試從您開發的同一臺PC訪問您的網站,則可以使用虛擬(循環)地址127.0.0.1。如果您想檢查您的網站在連接到同一網絡的其他設備(例如平板電腦,電話,其他PC)上的外觀如何,則需要輸入PC的內部網絡IP地址,循環。它可以是例如192.168.1.1(你應該檢查你的網卡屬性)。如果你試圖爲你的朋友製作真人秀等活動,它可能會發生變化。因此,爲了防止您每次檢查哪一個IP地址現在對您的PC有效,您可以使用0.0.0.0告訴您的應用程序「偵聽來自所有NIC的傳入請求,無論IP-地址他們有'。

相關問題