http.server に基づく LAN サーバーの構築プロセスの分析

http.server に基づく LAN サーバーの構築プロセスの分析

皆さんはこのような状況に遭遇したことがあるでしょうか。プロジェクトや研究開発を行う際に、緊急にファイルを別のコンピューターに転送したいのですが、USBドライブが見つからないため、QQ、WeChatなどのソーシャルソフトウェアにログインするか、電子メールなどのツールを使用して転送する必要があります。これは非常に面倒で苦痛です。 Python は万能であり、子供を産むこと以外はすべてできると言われています。そこで今日は、この問題を解決する簡単な方法を紹介します。Python で http.server を呼び出して LAN サーバーを構築することで、この問題は非常に簡単になります。

1.

1 行の Python コマンドでローカル エリア ネットワークを構築する方法は、実はとても簡単です。Python では 1 つのコマンドで実行できます。 Python の公式マニュアルによると、HTTPServer は socketserver の TCPServer のサブクラスです。 HTTP ソケットを作成してリッスンし、リクエストをハンドラーにディスパッチします。

Python 3.7 では、http.server は 5 つのパラメータを提供します。次のヘルプ コマンドを呼び出すと、次の内容が表示されます: python -m http.server --help

上の図からわかるように、位置パラメータとオプションパラメータが含まれています。

  • 位置パラメータポート - HTTPサーバーによって指定されたポートを参照します。デフォルトは8000です。
  • オプションパラメータ -h/--help——ヘルプ情報を取得するために使用します
  • --cgi——サーバーはCGIモードです
  • --bind/-b ADDRESS——バインドIPアドレス、ADDRESSはIPアドレス
  • --directory/-d DIRECTORY - ディレクトリを指定します。デフォルトは現在のディレクトリ(つまり、コマンドラインが実行されるディレクトリ)です。簡単に言えば、現在のサーバーはディレクトリへのアクセスを提供できます。

2. 操作方法

ローカル サーバーを構築するためのコードは非常にシンプルです。コマンド ラインで次のコードを実行するだけです。

python -m http.server 8080

上記のコードは、http サーバーを起動するために使用されます。デフォルトの IP は、コンピューターのローカル ワイヤレス IPv4 ネットワークであり、デフォルトのディレクトリは、コマンド ラインが実行されるディレクトリです。パラメータを変更する場合は、03 種類の可変パラメータを呼び出します。

原理の説明はここまで。次は実践です。編集者は自分の携帯電話のホットスポットを使って、Ubuntu、Windows、モバイル端末でテストしました。

1) まず、ローカルIPを取得する必要があります

Windows プラットフォームでは、ipconfig を通じて IP アドレスを取得できます (Linux プラットフォームでは、ifconfig -a を通じて IP アドレスを取得できます)。選択された IP アドレスは、ワイヤレス LAN アダプタ WLAN の IPv4 アドレスであることに注意してください。

2)。

上記のコマンドでサーバーを起動した後、取得した IP とポートに従ってブラウザに http://192.168.43.136:8080/ と入力するとサーバーにアクセスできます。すごいと思いませんか? 次に、さまざまなプラットフォームでテストし、PC で試してみましょう。

携帯電話でテストする

その他のウィンドウ

3.

サーバーのディレクトリを変更します。ファイルディレクトリを変更するために、エディターは D ドライブをアクセス可能なドライブに変更します。コマンドは次のとおりです。他のパラメータの使用方法も同様です。 python -m http.server 8080 -dd: アクセスしたディレクトリが変更されたことがわかります。

今日は、http.server を使用してサーバーを構築するヒントの共有は以上です。何か新しいことを学びましたか? Python に付属するこの小さな関数を使用すると、LAN 内のすべてのデバイスがアクセスできるシンプルな http サーバーをすばやく構築できます。

以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。

以下もご興味があるかもしれません:
  • [Asp.Net Core] Blazor Server Sideで画像検証コードを実装する
  • [Asp.Net Core] Blazor サーバーサイドに関する簡単な説明
  • Ant Design Blazor コンポーネントライブラリのルーティング再利用マルチタブ機能
  • HTTPのヘッダー情報の詳細な説明
  • Golangはhttpのサーバー側とクライアント側を実装するだけです
  • IOSはCocoaHttpServerを使用して携帯電話上にローカルサーバーを構築します
  • Golang は圧縮ファイルのダウンロード機能を提供するための http サーバーを実装します
  • Golang で http.FileServer を使用して静的ファイルを返す
  • golangのhttpserverのエレガントな再起動方法の詳細な説明
  • Blazor Server アプリケーションで HTTP リクエストを実行する

<<:  Javascript 共通高階関数の詳細

>>:  IDEA で mysql8.0.3 と mybatis-generator を使用する際に発生するバグ

推薦する

mysql ダーティ ページとは何ですか?

目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...

Apache ab同時負荷ストレステストの実装方法

腹筋コマンドの原則Apache の ab コマンドは、マルチスレッドの同時リクエストをシミュレートし...

Linux echo テキスト処理コマンドの使用法と例

Linux ヘルプ ドキュメントでの echo の説明は、Python や Java などのプログラ...

Linux ソースコードからのソケット (TCP) クライアント側での接続の例の詳細な説明

序文著者は、アプリケーションからフレームワーク、オペレーティング システムに至るまで、あらゆるコード...

Vue でスロットを使用する方法についての簡単な説明

定義と使用方法:コンポーネントのテンプレートでスロットタグの定義を使用します。デフォルトの表示値は、...

Eclipse/Tomcat でホットデプロイメントとホットスタートを実装する方法

1. ホット デプロイメント: コンテナの実行中にプロジェクト全体を再デプロイすることを意味します。...

CSS で適応型ディバイダーを巧みに実装する N 通りの方法

分割線はウェブページでよく使われるデザインです。例えば、Zhihuのその他の回答をご覧ください。 こ...

MySQL 8.0.18 のインストールと設定方法のグラフィックチュートリアル (Windows 10 版)

この記事は、参考のためにMySQL 8.0.18のインストールと設定のグラフィックチュートリアルを記...

MySql 8.0.16 バージョンのインストールでは、「UTF8B3」ではなく「UTF8B4」が使用されるように求められます。

MySQL 8.0.16 にインストールする場合、「UTF8B3」ではなく「UTF8B4」が使用さ...

type="file" の入力ボックスのスタイル変更の概要

入力タイプ「file」とは何ですか?これが何なのかは説明する必要はないと思います。誰もが知っているこ...

この記事では、jsのデータ型とデータ構造の世界を紹介します。

目次1. 動的型付けとは何ですか? 2. データ型2.1 プリミティブ型 (6 つのプリミティブ型、...

Linux の Docker コンテナで bash を終了する 2 つの方法

bash を終了する場合は、次の 2 つのオプションがあります。最初のもの: Ctrl + d を押...

Vue ログインページでクッキーを使用してパスワードを 7 日間記憶する方法

問題の説明プロジェクトのログインページでは、7日間パスワードを記憶する必要がある機能があります。この...

JavaScript の setTimeout と setTimeinterval の使用例の説明

どちらの方法も、一定時間後に JavaScript コードを実行するために使用できますが、それぞれに...

TinyEditorはシンプルで使いやすいHTML WYSIWYGエディタです

数日前、国産の XHTML エディタを紹介しました。今日は、有名な海外の Web デザイン ブログl...