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 を使用する際に発生するバグ

推薦する

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

URL 書き換えモジュール 2.1 URL 書き換えモジュールのルール記述

目次前提条件テストページの設定書き換えルールの作成命名規則モードの定義アクションの定義設定ファイル内...

JavaScriptは行削除機能を備えたテーブルを動的に生成します

この記事の例では、テーブルを動的に生成したり行を削除したりするためのJavaScriptの具体的なコ...

VueとElementUIを組み合わせたスキン変更ソリューション

目次前面に書かれた解決策 1: グローバル スタイル オーバーライドを使用する (フロントエンドに共...

Vueプロジェクトウォッチで関数が繰り返しトリガーされる問題の解決

目次問題の説明:解決策1解決策2問題の説明:ページ A と B の 2 つがあり、各ページにはget...

JavaScript でグレイウルフのポットビーティングゲームを実装

1. プロジェクト文書 2. ページレイアウトにHTMLとCSSを使用するHTML部分 <di...

vue3.0 のウォッチ リスナーの例の詳細な説明

目次序文リスナーと計算プロパティの違いvue3 で watch を使用するにはどうすればいいですか?...

CSS におけるスタックコンテキストの具体的な使用法

序文一部の CSS 相互作用の影響により、要素に設定されたz-index実際のサイズに応じて重ね合わ...

Mysql接続数の設定と取得方法

接続数を取得する --- 最大接続数を取得します。SHOW VARIABLES LIKE '...

Webフロントエンド開発コース Webフロントエンド開発ツールとは

インターネット技術の発展に伴い、ユーザーはますます Web ページに依存するようになり、Web フロ...

JS 内の Json 文字列 + Cookie + ローカルストレージ

目次1.Json文字列1.1Json構文1.2 例2. クッキー2.1 使い方は? 3. ローカルス...

sysbenchツールによるMySQLデータベースのパフォーマンステストの実装方法

1. 背景Sysbench は、システムのハードウェア パフォーマンスをテストできるストレス テスト...

CSS 不透明度子要素が親要素の透明度を継承するためのソリューションの詳細な説明

プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...

Linux の一般的なコマンドとショートカット キーの紹介

目次1 システムの紹介2 システムショートカット3 一般的なシステムコマンド1 システムの紹介 1....

Linux の daily_routine サンプルコードの詳細な説明

まずサンプルコードを見てみましょう: #/bin/bash cal 日付 -u echo "...