百度請(qǐng)求測(cè)試
import tornado.web
import tornado.ioloop
import tornado.httpclient
class IndexHandler(tornado.web.RequestHandler):
def get(self, *args, **kwargs):
wd = self.get_argument('wd')
# 請(qǐng)求百度地址
url = 'https://www.baidu.com/s?wd={}'.format(wd)
# 獲取客戶端,fetch(rul)獲取源碼
client = tornado.httpclient.HTTPClient()
print('同步測(cè)試')
response = client.fetch(url)
print(response)
self.write('index')
def make_app():
return tornado.web.Application(handlers=[
(r'/index/', IndexHandler),
])
if __name__ == '__main__':
app = make_app()
app.listen(8000)
tornado.ioloop.IOLoop.current().start()
async1
import tornado.web
import tornado.web
import tornado.ioloop
import tornado.httpclient
class IndexHandler(tornado.web.RequestHandler):
@tornado.web.asynchronous # 讓io不主動(dòng)關(guān)閉
def get(self, *args, **kwargs):
wd = self.get_argument('wd')
url = 'https//www.baidu.com/s?wd={name}'.format(name=wd)
# 獲取異步客戶端砸王,fetch(url, callback回調(diào))
clicent = tornado.httpclient.AsyncHTTPClient()
print('異步請(qǐng)求開始')
clicent.fetch(url, callback=self.on_response)
self.write('請(qǐng)求成功')
def on_response(self, response):
print(response)
# 關(guān)閉io
self.finish()
def make_app():
return tornado.web.Application(handlers=[
(r'/index/', IndexHandler),
])
if __name__ == '__main__':
app = make_app()
app.listen(8000)
tornado.ioloop.IOLoop.current().start()
aysnc2
import tornado.web
import tornado.ioloop
import tornado.httpclient
import tornado.gen
class IndexHandler(tornado.web.RequestHandler):
# @tornado.gen.coroutine # 讓io不主動(dòng)關(guān)閉
# def get(self, *args, **kwargs):
# wd = self.get_argument('wd')
# url = 'https//www.baidu.com/s?wd={name}'.format(name=wd)
# # 獲取異步客戶端,fetch(url, callback回調(diào))
# clicent = tornado.httpclient.AsyncHTTPClient()
# print('攜程是程序')
# response = yield clicent.fetch(url)
# print(response)
async def get(self, *args, **kwargs):
wd = self.get_argument('wd')
url = 'https//www.baidu.com/s?wd={name}'.format(name=wd)
# 獲取異步客戶端笔诵,fetch(url拯欧, callback回調(diào))
clicent = tornado.httpclient.AsyncHTTPClient()
print('攜程是程序')
response = await clicent.fetch(url)
print(response)
def on_response(self, response):
print(response)
# 關(guān)閉io
self.finish()
def make_app():
return tornado.web.Application(handlers=[
(r'/index/', IndexHandler),
])
if __name__ == '__main__':
app = make_app()
app.listen(8000)
tornado.ioloop.IOLoop.current().start()