这个网站无法到达[flask,python]

时间:2017-10-19 17:24:58

标签: python google-chrome flask

当我在浏览器中打开链接0.0.0.0:5000时,我总是在浏览器上收到消息"此网站无法到达" 因为我在控制台上收到此消息,所以代码似乎正在工作

  

http://0.0.0.0:5000/上运行(按CTRL + C退出)

enter image description here

这是我正在使用的代码

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)

4 个答案:

答案 0 :(得分:2)

一般来说,这条消息

  

http://0.0.0.0:5000/上运行(按CTRL + C退出)

通知您将收听您接受请求的PC的IP地址。它可以配置为只侦听一个IP地址。

正如评论中所述,如果您尝试从开发的同一台PC访问您的网站,您可以使用虚拟(循环)地址127.0.0.1。如果您想检查您的网站在连接到同一网络的其他设备上的外观(例如平板电脑,手机,其他PC等),您需要输入PC的内部网络IP地址,它与循环。它可以是例如192.168.1.1(您应该在您的NIC属性上检查它)。如果您尝试为您的朋友制作类似现场演示的内容,它可能会发生变化。

因此,为了防止您每次检查哪一个IP地址对您的PC有效,您可以使用0.0.0.0告诉您的应用程序'侦听来自所有NIC的传入请求,无论他们拥有什么IP地址'。

答案 1 :(得分:1)

对我来说,使用app.run(debug=False)时可以使用

port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port)

没有。

我不知道这是防火墙问题还是为什么不起作用。请注意,这样做之后,它开始在http://127.0.0.1:5000/托管。

答案 2 :(得分:0)

绝对使用您的本地主机使用127.0.0.1而不是0.0.0.0

答案 3 :(得分:0)

要在本地进行测试,可以使用 http://localhost:5000 代替 http://0.0.0.0:5000