2017-01-29 6 views
0

this tutorialの途中でサンプルコードを実行すると、すぐにエラーが発生することはありませんが、url(ht [break_link] tp: /0.0.0.0:8080/)、私は 'Firefoxは0.0.0.0:8080でサーバーとの接続を確立できません。'私もChromeで試しましたが、運はありません。webpy 'Hello World'チュートリアル:webpyがクラスを見つけることができない

ある時点で、webpyは 'class index was not found'の行に沿ってエラーを表示しましたが、エラーを取得する方法や再現方法がわかりません。

これはファイルです。それはちょうどprint文を追加して、私がリンクされ、チュートリアルと同じです:

import web 

# Handle the url/with the index class. 
urls = { 
    '/', 'index' 
} 

class index: 
    def GET(self): 
     return "Hello, world!" 
     print 'inside get' 
print 'after index' 

print "-------" 
print globals() 
print "-------" 

if __name__ == '__main__': 
    print "hi" 
    app = web.application(urls, globals()) 
    print "hello" 
    app.run() 
    print "last" 

出力:

after index 
------- 
{'web': <module 'web' from 'C:\Python27\lib\site-packages \web\__init__.pyc'>, 'index': <class __main__.index at 0x0324F030>,  '__builtins__': <module '__builtin__' (built-in)>, '__file__': 'code.py',  '__packa 
ge__': None, 'urls': set(['index', '/']), '__name__': '__main__',  '__doc__': None} 
------- 
hi 
hello 
http://0.0.0.0:8080/ 
last 

(まで表示されません '最後の' Iアウト-C CTRL) webpyはありませんインデックスクラスに気づいていますが、私は理由を知らない。

答えて

0

http://0.0.0.0:8080/を印刷すると、Webサーバーはループして(app.run()の呼び出しにより)実行されているため、Webサーバーを終了するまで「最後に」印刷されません。だからあなたはctrl-cまで「最後」を見ないのです。すべて正常に動作しています。

http://0.0.0.0:8080は、単にWebサーバーがローカルマシン上の「すべての有効なIPv4アドレス」をリッスンしていると言います。 0.0.0.0は実際のアドレスではありません。 Webサーバーにアクセスするには、ブラウザーで実際のIPアドレスを指定します。

ローカルマシンでこのWebサーバーを実行している場合は、おそらくhttp://127.0.0.1:8080/を使用することができます。ほとんどの場合、ローカルマシンを指しています。リモートマシン上でこのWebサーバーを実行している場合は、そのIPv4アドレス、または0.0.0.0ではなくホスト名を指定する必要があります。

+0

ありがとう、私は本当に混乱しました。 – Tiream

関連する問題