私はTornadoの初心者で、これを使って非同期HEAD HTTPリクエストを作成しようとしています。それはどのように竜巻で行われますか?TornadoでHEAD HTTPリクエストを送信するにはどうすればよいですか?
私の質問は、触発されて、この1:PythonでHow do you send a HEAD HTTP request in Python 2?
私はTornadoの初心者で、これを使って非同期HEAD HTTPリクエストを作成しようとしています。それはどのように竜巻で行われますか?TornadoでHEAD HTTPリクエストを送信するにはどうすればよいですか?
私の質問は、触発されて、この1:PythonでHow do you send a HEAD HTTP request in Python 2?
あなたAsyncHTTPClient.fetch()
コールにmethod="HEAD"
を追加します。古いPythonで
は/がgen.coroutineと収率で待って非同期に置き換えます。
response = await http_client.fetch("http://example.com", method="HEAD")
3.5+:すべての処理が完了すると、あなたのプログラムの準備ができるまで、実際のコードで
from tornado.httpclient import AsyncHTTPClient
from tornado.ioloop import IOLoop
async def fetch_head():
response = await http_client.fetch("http://www.google.com/")
print(response.headers)
IOLoop.current().stop()
http_client = AsyncHTTPClient()
IOLoop.current().add_callback(fetch_head)
IOLoop.current().start()
は、「停止」呼び出すことはありません出る。
from tornado import gen
@gen.coroutine
def fetch_head():
response = yield http_client.fetch("http://www.google.com/")
print(response.headers)
IOLoop.current().stop()
毎秒これを何度も何度もやりたいのですが?毎回別のURL?これは、ブルートフォースがページが存在するかどうかを確認するクロールアプリケーションです。 – etayluz
[バックグラウンドで実行する](http://www.tornadoweb.org/en/latest/guide/coroutines.html#running-in-the-background)の例に従ってください。 try/catchブロック内でURLを取得し、例外があれば何かしてから、1秒間スリープしてループしたいとします。 –