問題タブ [simplehttpserver]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
7 に答える
14926 参照

python - Python に埋め込まれた Web サーバー?

デスクトップ アプリケーションに組み込むことができる最小限の Python Web サーバーをお勧めできますか。

0 投票する
3 に答える
25581 参照

python - Python スクリプト用のローカル Web サーバーを作成するにはどうすればよいですか?

ユーザーのために一連のpythonスクリプトを実行するために、ローカルWebサーバーを使用しようとしています。やむを得ないさまざまな理由により、python スクリプトはサーバーではなくローカルで実行する必要があります。その結果、フロント エンドの UI として、私が慣れている HTML + ブラウザーを使用します。

したがって、理想的には Windows サービスとして、マシンのバックグラウンドで Python スクリプトを実行できる軽量の Web サーバーを探していました。セキュリティと拡張性は、すべて小規模なネットワーク上で内部的に実行されているため、優先度は高くありません。

ネイティブ python Web サーバーを Windows サービスとして実行する必要がありますか (その場合、どのように)? それとも、ユーザーのマシンに Apache をインストールして CGI として実行するのと同じくらい簡単ですか? これはすべてローカルであるため、パフォーマンスも問題になりません。

それとも、明らかな何かが欠けていますか?

0 投票する
1 に答える
6712 参照

python - BaseHTTPServer と SimpleHTTPServer の違いは何ですか? いつ、どこで使用しますか?

BaseHTTPServerとはどう違いSimpleHTTPServerますか?いつ、どこでこれらを使用する必要がありますか?

0 投票する
3 に答える
5836 参照

python - 単体テストにSimpleHTTPServerを使用する

特定のWebサービスAPIをラップするPythonモジュールを作成しています。すべてRESTなので、実装は比較的簡単です。

ただし、単体テストに関しては問題が見つかりました。このモジュールを作成したサービスを実行していないため、それらをハンマーで叩きたくないのですが、同時に、実行するためにデータを取得する必要があります。テスト。SimpleHTTPServerを見ましたが、これで問題ありません。

問題の一部を解決しましたが、スレッドを終了できないように見えるため、テストアプリケーションを複数回起動すると「アドレスはすでに使用されています」という問題が発生します。

ここにいくつかのサンプルコードがあります

ここで、「index.json」は私が作成したモックJSONファイルであり、本物を置き換えます。プログラムが終了した後、どうすれば優雅に物事をきれいにできますか?

0 投票する
8 に答える
8256 参照

c - リアルタイムの埋め込み可能なhttpサーバーライブラリが必要

いくつかの利用可能なhttpサーバーライブラリを調べましたが、探しているものがまだ見つかりません。この一連の要件を最初に持つことはできないと確信しています。

'パイプライン化された'APIを提示するライブラリが必要です。パイプラインは、応答を待たずに一度に複数のHTTP要求をTCPリンクを介して送信できるHTTP機能を説明するために使用されます。ライブラリAPIに同様の機能が必要で、アプリケーションは応答を送信せずにこれらの要求をすべて受信できます(応答しますが、内部レイテンシの影響を減らすために一度に複数の要求を処理する機能が必要です)。

したがって、Webサーバーライブラリは次のフローをサポートする必要があります

1)HTTPクライアントはhttpリクエストを送信します1

2)HTTPクライアントはhttpリクエスト2を送信します...

3)Webサーバーライブラリはリクエスト1を受信し、それをMyWebServerアプリに渡します

4)My Web Server Appはリクエスト1を受信し、それをMySystemにディスパッチします

5)Webサーバーはリクエスト2を受信し、それをMyWebServerアプリに渡します

6)My Web Server Appはリクエスト2を受信し、それをMySystemにディスパッチします

7)My Web Server Appは、My Systemから要求1への応答を受信し、それをWebServerに渡します。

8)WebサーバーはHTTP応答1をHTTPクライアントに送信します

9)My Web Server Appは、My Systemからリクエスト2への応答を受信し、それをWebServerに渡します。

10)WebサーバーはHTTP応答2をHTTPクライアントに送信します

うまくいけば、これは私の要件を示しています。認識すべき2つの重要なポイントがあります。Webサーバーライブラリへの応答は非同期であり、未処理の応答を含む複数のHTTP要求がMyWebServerアプリに渡される場合があります。

追加の要件は次のとおりです

  1. 既存の「C」アプリケーションに埋め込むことができます
  2. 小さな足跡; Apacheなどで利用できるすべての機能は必要ありません。
  3. 効率的; 1秒間に数千のリクエストをサポートする必要があります
  4. リクエストへの非同期応答を許可します。それらは応答への小さな待ち時間であり、必要な要求スループットを考えると、同期アーキテクチャは私にとっては機能しません。
  5. 永続的なTCP接続をサポートする
  6. サーバープッシュコメット接続での使用をサポート
  7. オープンソース/GPL
  8. HTTPSのサポート
  9. Linux、Windows間でポータブル。できればもっと。

私はどんな推薦にも非常に感謝します

よろしくお願いします

0 投票する
3 に答える
7671 参照

python - Really Simple HTTP Server を使用して Python で動的 Web ページを作成することは可能ですか?

SimpleHTTPServer を使用すると、インターネット経由で Web ブラウザからディレクトリにアクセスできるようになります。そのため、コードを 1 行だけ実行すると、その結果、別のコンピューターで作業している別の人が自分のブラウザーを使用して、私のディレクトリの内容を見ることができます。

でも、もっと複雑なものを作れるか迷っています。たとえば、誰かが自分のブラウザを使用して、一連のパラメーター (example.py?x=2&y=2) を使用して私の Python プログラムを読み込み、その結果、Python プログラムによって生成された HTML ページ (ない) が表示されます。 Python プログラム)。

また、SimpleHTTPServer に送信された html フォームを処理できるかどうかも迷っています。

0 投票する
3 に答える
6656 参照

python - BasicHTTPServer、SimpleHTTPServer、および同時実行性

Python、BasicHTTPServer、およびSimpleHTTPServerを使用して、テスト目的で小さなWebサーバーを作成しています。一度に 1 つの要求を処理しているようです。あまり深くいじることなく、少し速くする方法はありますか? 基本的に、私のコードは次のようになります。このようにシンプルに保ちたいと思います;)

0 投票する
5 に答える
48386 参照

python - Pythonでリクエストを別のURLにリダイレクトするにはどうすればよいですか?

XSSテストを行うために特別なURLをリモートサーバーにリダイレクトする構文を探していました。何か案は?

0 投票する
5 に答える
10635 参照

python - Python SimpleHTTPServer でディレクトリ全体をダウンロードする

SimpleHTTPServer を使用してネットワーク上でファイルを簡単に共有できる方法が本当に気に入っていますが、「ディレクトリ全体をダウンロードする」などのオプションがあればいいのにと思います。これを実装する簡単な(ワンライナー)方法はありますか?

ありがとう

0 投票する
3 に答える
1935 参照

python - SimpleHTTPServerでバックグラウンドタスクが応答をブロックするのはなぜですか?

私は、バックグラウンドタスクを起動し、それから進行を得ることができるはずの単純なブラウザベースのフロントエンドを書いています。タスクが正常に起動したかどうかを示す応答をブラウザが受信し、ポーリングしていつ実行されたかを判断する必要があります。ただし、バックグラウンドタスクが存在するため、XMLHttpRequest応答がすぐに送信されないようであるため、プロセスの起動の成功を報告できません。次の(簡略化された)コードについて考えてみます。

これを実行してhttp:// localhost:8000にアクセスすると、「実行」という名前のボタンが表示されます。それをクリックすると、ターミナルに次のように表示されます。

ただし、ブラウザの表示は変わりません。実際、カーソルは回転しています。ターミナルでCtrl-Cを押してプログラムを中断した場合にのみ、ブラウザは次のメッセージで更新されます。Process started.

メッセージAfter startははっきりと印刷されています。do_GETしたがって、プロセスを開始した後、それが戻ってきていると推測できます。それでも、長時間実行されているプロセスを中断するまで、ブラウザーは応答を受け取りません。との間に何かがブロックされていると結論付ける必要があります。do_GETこれは、内部にありSimpleHTTPServerます。

スレッドとsubprocess.Popenでもこれを試しましたが、同様の問題が発生しました。何か案は?