tornado.httpclient.AsyncHTTPClient如何使用代理请求一个http服务?
描述你的问题
我在torando服务端需要使用tornado.httpclient.AsyncHTTPClient通过代理请求一个http服务,但是抛出了NotImplementedError: proxy_host not supported 的错误。
请问有什么好的解决方案吗?难道tornado的异步请求httpclient不支持代理?贴上相关代码
@asynchronous
@gen.coroutine
def get(self):req = tornado.httpclient.HTTPRequest('http://****', proxy_host='Proxy_IP_Address', proxy_port=8888) response = yield AsyncHTTPClient().fetch(req) result=response.body self.write(str(result)) self.finish()
贴上报错信息
NotImplementedError: proxy_host not supported
贴上相关截图
已经尝试过哪些方法仍然没解决(附上相关链接)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
To select curl_httpclient, call AsyncHTTPClient.configure at startup:
AsyncHTTPClient.configure("tornado.curl_httpclient.CurlAsyncHTTPClient")
稍微看看文档就好了 代理只支持 curl_httpclient
via http://www.tornadoweb.org/en/stable/httpclient.html#tornado.httpclient.HTTPRequest
这个文档有说明,只有curl_httpclient支持代理,你需要这么配置。
使用的时候给fetch函数加上代理参数就行proxy_host="127.0.0.1", proxy_port=8787。