問題タブ [basehttpserver]

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 投票する
4 に答える
94430 参照

python - Python 3.x BaseHTTPServer または http.server

BaseHTTPServer プログラムを作成しようとしています。Python 3.3 または 3.2 を使用することを好みます。何をインポートするかについてドキュメントを理解するのは難しいと思いますが、インポートを次のように変更しようとしました:

に:

その後、インポートが機能し、プログラムが起動して GET 要求を待ちます。しかし、リクエストが到着すると例外が発生します:

質問: Python3.x ですぐに使用できる BaseHTTPServer または http.server のバージョンはありますか、それとも何か間違っていますか?

これは、Python 3.3 および 3.2 で実行しようとした「私の」プログラムです。

プログラムは部分的に Python2.7 で動作しますが、2 ~ 8 回のリクエスト後にこの例外が発生します。

0 投票する
2 に答える
19831 参照

python - Python で HTTP POST リクエストを送受信するにはどうすればよいですか?

Python で POST リクエストを送受信する方法を理解するために使用している次の 2 つの Python スクリプトがあります。

クライアント:

サーバー:

問題は、クライアントで conn.close() が呼び出されるまでサーバーが self.rfile.read() でハングすることですが、クライアントで conn.close() が呼び出された場合、クライアントはサーバーからの応答を受信できません。これにより、サーバーから応答を取得するか、POST データを読み取ることができますが、両方を行うことはできません。この問題を解決するために、ここに欠けているものがあると思います。

追加情報:

conn.getresponse() は、サーバーから応答を受信するまでクライアントをハングさせます。サーバー上の関数の実行が完了するまで、応答は受信されないようです。

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

python - 共有ホスティングの BasicHTTPServer

私のオフィス用のフーズボールのはしごを Python で書いています。これは、私の HostGator 共有ホスティングで提供されます。私は言語に非常に慣れていませんが(商売はC#の男です)、サーバー上で実行するための簡単なスクリプトを取得しました。

https://wiki.python.org/moin/BaseHttpServerにある例を使用して、サーバー名を自分のドメインに変更し、ポートを 4 桁の番号に変更しました。対応する発信ポートを開くための HostGator サポートを得ました。次に、スクリプトを a+x で chmod して実行しました。成功!サーバーは稼働し続けました。

さまざまな方法でサーバーにアクセスしようとしましたが、成功しませんでした。

  • http://mydomain.com/path/to/script
  • http://mydomain.com:port/path/to/script
  • http://mydomain.com:port
  • 上記のパスへの GET リクエスト。

この BaseHTTPServer に正常に到達するために、サーバー構成またはコードに関して何が欠けていますか?

0 投票する
2 に答える
323 参照

python - Python の BaseHTTPServer でブラウザが「更新」にヒットしたことを検出する

クライアントが F5 キーを押して更新したことを検出するにはどうすればよいですか? これを取得できることを示すためにサーバーに送信されるヘッダーはありますか? サーバー側のキャッシュを行っていますが、更新が検出されたときにキャッシュを自動的に期限切れにしたいと考えています。ありがとう。

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

python - 応答の HTTP バージョン BaseHttp モジュール python

PythonでBaseHttpを使用してサーバーを実行しています。

HTTP/1.1 に基づくクライアントからリクエストを受け取りました

しかし、私が応答でクライアントに返信すると、クライアントは応答を受け入れることを拒否します。さらに分析すると、送信している HTTP バージョンが HTTP/1.0 であることがわかりました。ただし、どのように設定されているかわかりません。

クライアント側のエラーです。

次の方法でヘッダーを設定しています。

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

python - ファイルをより高速に提供する Python BaseHTTPServer

Python BaseHTTPServer で提供する比較的大きな .js ファイル (flot と jquery) がいくつかあります。

現在私は使用しています:

しかし、同じマシンからファイルをロードすることさえ、かなり遅くなります(これらを取得するのに1秒以上かかります)。これはファイル全体をRAMに読み込んでから書き込んでいると思いますが、これを少し高速化する方法はありますか?

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

python - BaseHTTPServerを使用してリクエストを処理する前にリクエストを前処理する方法は?

CGIHttpServerモジュールを使用しているサーバー上の特定のパスへのアクセスを拒否したいと考えています。すべてのリクエストを確認する必要があるホワイトリストを作成しましたが、問題はそれを実装する方法です。

メソッド (リクエストの処理とレスポンスの送信の両方) をオーバーライドしようとしましhandle_one_requestたが、問題は、実行前にパス情報が利用できないことです。つまり、私は常に早すぎるか遅すぎるということです。現在、元の関数ソースをコピーして貼り付けて自分で編集するか、 をオーバーライドすることを考えていますwfile.flushが、これはあまりにも醜いように聞こえます。

誰でも私にもっと良い解決策を教えてもらえますか?

handle_one_requestのソース コードは次のとおりです。

0 投票する
2 に答える
1790 参照

python - BaseHttpServer クラスのグローバル変数

クラス BaseHttpServer のメソッド「do_GET」を使用しています。

私がしたいのは、このメソッドへの連続した呼び出しが同じ共有変数にアクセスできるようにすることです

最初のコマンド 0 を送信してから 1 を送信すると、同じ変数にアクセスできません

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

python - BaseHttpServer と wsgiref.simple_server の違い

ローカル アクセス用の基本的な http サーバー機能を提供するモジュールを探しています。Python には、標準ライブラリに単純な http サーバーを実装するための 2 つの方法があるようです: wsgiref.simple_serverBaseHttpServer

違いは何ですか?どちらかを優先する強い理由はありますか?