2017-04-10 1 views

답변

1

AsyncHTTPClient.fetch() 전화에 method="HEAD"를 추가합니다.

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

는 "중지"를 호출하지 않습니다 나가기 위해서. 파이썬은 비동기 교체 이전에

은/gen.coroutine 및 수율 기다리고 :

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/ko/latest/guide/coroutines.html#running-in-the-background)의 예를 따르십시오. try/catch 블록 내에서 URL을 가져오고, 예외가있는 경우 무언가 수행 한 다음 잠시 기다린 후 루프를 반복합니다. –

관련 문제