2017-04-10 23 views

答えて

1

あなたAsyncHTTPClient.fetch()コールにmethod="HEAD"を追加します。古いPythonで

は/がgen.coroutineと収率で待って非同期に置き換えます。

response = await http_client.fetch("http://example.com", method="HEAD") 
1

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() 
+0

毎秒これを何度も何度もやりたいのですが?毎回別のURL?これは、ブルートフォースがページが存在するかどうかを確認するクロールアプリケーションです。 – etayluz

+0

[バックグラウンドで実行する](http://www.tornadoweb.org/en/latest/guide/coroutines.html#running-in-the-background)の例に従ってください。 try/catchブロック内でURLを取得し、例外があれば何かしてから、1秒間スリープしてループしたいとします。 –

関連する問題