失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取

python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取

时间:2023-04-29 23:44:50

相关推荐

python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取

我已经从我的项目中提取了代码样本。它并不完美,但它提供了一个如何使用Tornadp的AsyncHTTPClient的方法@tornado.gen.engine

def async_request(self, callback, server_url, method=u'GET', body=None, **kwargs):

"""

Make async request to server

:param callback: callback to pass results

:param server_url: path to required API

:param method: HTTP method to use, default - GET

:param body: HTTP request body for POST request, default - None

:return: None

"""

args = {}

if kwargs:

args.update(kwargs)

url = '%s?%s' % (server_url, urlencode(args))

request = tornado.httpclient.HTTPRequest(url, method, body=body)

http = tornado.httpclient.AsyncHTTPClient()

response = yield tornado.gen.Task(http.fetch, request)

if response.error:

logging.warning("Error response %s fetching %s", response.error, response.request.url)

callback(None)

return

data = tornado.escape.json_decode(response.body) if response else None

callback(data)

如果觉得《python请求url非阻塞_Tornado请求中的非阻塞/异步URL获取》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。