ウェブサイト検索

Python「SimpleHTTPServer」を使用して Web サーバーを作成したりファイルを即座に提供したりする方法


SimpleHTTPServer は、Web サーバーを即座に作成したり、ファイルを瞬時に提供したりできる Python モジュールです。 Python の SimpleHTTPServer の主な利点は、Python インタープリターがインストールされているため、何もインストールする必要がないことです。ほとんどすべての Linux ディストリビューションには、Python インタープリターがデフォルトで用意されているため、Python インタープリターについて心配する必要はありません。

SimpleHTTPServer をファイル共有方法として使用することもできます。共有可能なファイルが配置されている場所でモジュールを有効にするだけです。この記事では、さまざまなオプションを使用したいくつかのデモを紹介します。

ステップ 1: Python のインストールを確認する

1. 以下のコマンドを実行して、サーバーに Python がインストールされているかどうかを確認します。

python –V 

OR

python  --version

入手した Python インタープリターのバージョンが表示され、インストールされていない場合はエラー メッセージが表示されます。

2. それがデフォルトで存在していれば幸運です。実際には仕事は減ります。万が一インストールされていない場合は、以下のコマンドに従ってインストールしてください。

SUSE ディストリビューションをお持ちの場合は、ターミナルに yast と入力します –> ソフトウェア管理に移動します –> 「<」と入力しますcode>'python' 引用符なし –> Python インタープリターを選択 –> スペースキーを押して選択し、 –> してインストールしますそれ。

そのような単純な。そのためには、SUSE ISO をマウントし、YaST によってリポジトリとして設定するか、Web から Python を簡単にインストールする必要があります。

RHEL、CentOS、Debian、Ubuntu、その他の Linux オペレーティング システムなどの別のオペレーティング システムを使用している場合は、yum または apt を使用して Python をインストールするだけです。

私の場合はSLES 11 SP3 OSを使用しており、Python インタープリターがデフォルトでインストールされています。ほとんどの場合、サーバーへの Python インタープリターのインストールについて心配する必要はありません。

ステップ 2: テスト ディレクトリを作成し、SimpleHTTPServer を有効にする

3. システム ファイルをいじらない場所にテスト ディレクトリを作成します。私の場合、/x01 というパーティションがあり、そこに tecmint というディレクトリを作成し、テスト用のテスト ファイルをいくつか追加しました。

4. これで前提条件の準備が整いました。あなたがしなければならないのは、テスト ディレクトリ (私の場合は /x01//) 内で以下のコマンドを発行して、Python のSimpleHTTPServer モジュールを試すことだけです。

python –m SimpleHTTPServer

5. SimpleHTTPServer を有効にすると、ポート番号 8000 を介してファイルの提供が開始されます。 Web ブラウザを開いてip_address:port_number と入力するだけです ( 私の場合は192.168.5.67:8000)。

6. 次に、リンク 'tecmint' をクリックして、tecmint ディレクトリのファイルとディレクトリを参照します。以下の画面を参照してください。

7. SimpleHTTPServer はファイルを正常に提供します。 Web ブラウザを通じてサーバーにアクセスした後、コマンドを実行した場所を確認することで、ターミナルで何が起こったかを確認できます。

ステップ 3: SimpleHTTPServer ポートの変更

8. デフォルトでは、Python の SimpleHTTPServer はポート 8000 を介してファイルとディレクトリを提供しますが、別のポート番号を定義することもできます (ここではポート 9999 を使用しています) ) 以下に示すように、Python コマンドを使用して必要に応じて設定します。

python –m SimpleHTTPServer 9999

ステップ 4: 別の場所からファイルを提供する

9. 試してみると、実際にパスにアクセスせずに、特定の場所でファイルを提供したい場合があります。

たとえば、ホーム ディレクトリにいて、cd/x01/tecmint に保存せずに、ファイルを /x01/tecmint/ ディレクトリに配置したいとします。どうやってやるか見てみましょう。

pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

ステップ 5: HTML ファイルを提供する

10. 提供場所に index.html ファイルがある場合、Python インタープリターは自動的にそれを検出し、ファイルを提供する代わりに HTML ファイルを提供します。

見てみましょう。私の場合、index.html という名前のファイルに単純な HTML スクリプトを含め、それを /x01/tecmint/ に配置します。

<html>
<header><title>TECMINT</title></header>
<body text="blue"><H1>
Hi all. SimpleHTTPServer works fine.
</H1>
<p><a href="https://linux-console.net">Visit TECMINT</a></p>
</body>
</html>

次に、それを保存し、/x01/tecmint で SimpleHTTPServer を実行し、Web ブラウザからその場所に移動します。

pushd /x01/tecmint/; python –m SimpleHTTPServer 9999; popd;

とてもシンプルで便利です。ファイルまたは独自の HTML コードをすぐに提供できます。最も良いのは、何もインストールすることについて心配する必要がないことです。ファイルを誰かと共有するようなシナリオでは、ファイルを共有場所にコピーしたり、ディレクトリを共有可能にしたりする必要はありません。

その上でSimpleHTTPServer を実行するだけで完了です。この Python モジュールを使用する際には、留意しなければならないことがいくつかあります。ファイルを提供するときにターミナル上で実行され、そこで何が起こったかを出力します。ブラウザからアクセスしたりファイルをダウンロードしたりすると、アクセスしたIPアドレスやダウンロードしたファイルなどが表示されるのでとても便利ですよね。

配信を停止したい場合は、ctrl+c を押して実行中のモジュールを停止する必要があります。これで、ファイルを提供するための簡単なソリューションとして Python の SimpleHTTPServer モジュールを使用する方法がわかりました。提案や新しい発見について以下にコメントしていただければ、今後の記事を強化し、新しいことを学ぶことができます。

参考リンク

SimpleHTTPServer ドキュメント