web-dev-qa-db-ja.com

python -m SimpleHTTPServer-0.0.0.0:8000でリッスンしているがhttp://0.0.0.0:8000/test.htmlは「ページが見つかりません」と表示する

私のフォルダに移動した後、私は入ります

python -m SimpleHTTPServer

そして得る

Serving HTTP on 0.0.0.0 port 8000 ...

返信で。しかし、私がhttp://0.0.0.0:8000/test.htmlページが見つかりませんというエラーが表示されます。

私も試しました

pushd /path/you/want/to/serve; python -m SimpleHTTPServer; popd

この質問 からの引用

Lsを押すと、ファイルとディレクトリが表示されます。誰かが私が間違っていることを知っていますか?

19
Denis Hoctor

他の2つの答えは、0.0.0.0がアクセスすべきURLではないことを明確にしようとしていると思います。 Python Webサーバー(たとえば、cherrypyのような)が0.0.0.0でサービスを提供していると言う場合、それはすべてのTCP要求されたホスト名またはIPに関係なく、そのマシン。ただし、ソケットが127.0.0.1または「localhost」でリッスンするように変更した場合、要求がそのIP /ホスト名に対するものでない限り、応答しません。リクエスト。たとえば、localhostの代わりにマシン名を何度も使用できます(たとえば、ubuntuではこれが許可されています)。マシン名が「brian」で、サーバーが0.0.0.0:8080でリッスンしている場合、次のことができるはずです。 http:// brian:808 を使用してそのサーバーに到達します。ただし、そのサーバーが「localhost」をリッスンしている場合、「brian」が「localhost」を指すように設定されていても、サーバーはメッセージを受信します。

また、ファイルが実際にコマンドを実行しているディレクトリにあることを確認する必要もあります。それ以外の場合、404応答は実際には正しいです:)

幸運を!

33
elarson

試しましたか http://127.0.0.1:8000/

:)

12
Ryan Ginstrom

あなたはこのリンクを使用する必要があります http://127.0.0.1:8000/ そしてそこにすべてのファイルを見ることができます

6

たとえば192.168.0.2:8000のように、接続先のコンピューターのIPアドレスを入力する必要があります。これをサーバーのIPアドレスに変更します。

3
Rob

http:// localhost:8000/test.html または http://127.0.0.1:8000/test.html を参照してみてください(これら2つはまったく同じである必要があります)あなたのhostsファイルがすべてクレイジーなわけではない限り).

0.0.0.0は通常、Windowsでは「接続されていない」IPとして使用され、IPを処理するときの一種のワイルドカードとしても使用できます。ただし、HTTPサーバーが0.0.0.0でホストしようとしている理由に少し混乱しています。一部の構成ファイルを編集して、「localhost」または「127.0.0.1」に設定する必要がある場合があります。

2
The Maniac
  1. ディレクトリを作成します。 mkdir HTTPServer_dir
  2. フォルダ内に移動_cd HTTPServer_dir
  3. コマンドを入力します(python versionに従って)python -m SimpleHTTPSever 8000(または必要なポート))
  4. ブラウザでhttp://127.0.0.1:8000/と入力します

できた!!!

HTTPServer_dir内に単純なindex.htmlページを作成して、ディレクトリリストの代わりにhtmlページを表示することができます。

1

Linuxではifconfigを、Windowsではipconfigを実行して、サーバーのIPアドレスを見つけます。

$ Sudo ifconfig
wlan0     Link encap:Ethernet  HWaddr 30:3a:64:b3:be:6a  
          inet addr:192.168.1.103  Bcast:192.168.1.255  Mask:255.255.255.0

ここでは、URLは次のようになります。

http://192.168.1.103:8000/test.html

0

同じポート番号が他のサービスによって使用される場合があります。したがって、次のような他のポートで試すことができます

python -m SimpleHTTPServer 9090

そして、単にhttp:// {your system IP}:9090 /を押します。

これは私にとってはうまくいきます。

0

これは私にとってはうまくいきました、あなたのマシン名を
http:// localhost:x0

0
rahul soni