1
PythonでSimpleHTTPServerモジュールを使用して単純なファイルサーバーを構築していますが、接続先のクライアントからIPを取得しようとすると問題が発生します。クライアントは私が得る接続するとここで私は、私はまだクラスをインスタンス化していないので、これはですが、取得するための別の方法が存在しているはず.. ..私が持っているものSimpleHTTPServerからクライアントIPを取得する方法
AttributeError: class SimpleHTTPRequestHandler has no attribute 'client_address'
import SimpleHTTPServer
Handler = SimpleHTTPServer.SimpleHTTPRequestHandler
httpd = SocketServer.TCPServer(("", 8080), Handler)
print "Serving local directory"
while True:
httpd.handle_request()
print Handler.client_address[0]
ですハンドラインスタンスを作成することなくクライアントからのIPを取得できますか? IPクライアントは、接続が確立されたときにコンソールに出力されます。スクリプト内でそのIPを取得する方法が必要です。
ありがとうございます!
私はどのようにスクリプトの残りの部分でそれを使用するつもりですか?もっと明確にするために、後でスクリプトでいくつかの操作を行う必要があります。 – Devigili
'handle_one_request'の中でリクエストごとの関数を呼び出すだけです。グローバル情報(たとえば、最後の10個の要求IPを印刷する場合)を入力するには、情報を入力するグローバル変数(サーバオブジェクトに接続されているグローバル変数)を設定します。 – phihag
わかりませんが、私に例を示してもらえますか?どのような試みでも、私は最終的に私ができないクラスから変数にアクセスしようとしています。 – Devigili