[英]HttpClient sends request and no wait for the response
我正在尝试创建一个java控制器类来完成以下任务:
当它收到一个请求时,它将处理它。
当进程完成并且在返回语句之前,我实例化了一个Httpclient并尝试使一个请求与当前的请求完全相同并将其发布到另一个服务器。
我已经完成了任务。 但我想知道这里发生了什么:(下)
HttpResponse response=client.execute(post);// will the program blocks here ?
当我搜索互联网时,程序阻塞并且这不是我想要的似乎是真的。
我还读到了关于异步的事情,但似乎最终处理的响应可能还需要一些时间。 (不太确定)
我怎样才能发送请求并且不关心响应。 可能吗 ?
对不起,如果我搞砸了一切。 你真的很想弄清楚我的想法,或者就这个话题提出一些建议。 谢谢。
我最喜欢的Java异步HTTP库是AsyncHttpClient 。
如果您不关心处理响应,那么您可以这样做:
AsyncHttpClient asyncHttpClient = new AsyncHttpClient();
Future<Response> f = asyncHttpClient.preparePost("http://www.myurlhere.com/").execute();
然后忘了它。
即使我发现这个问题有点令人困惑,我认为你所追求的是一个异步的Http调用。 这样,您可以选择是否要阅读响应。 在这个论坛上有一篇关于如何写这篇文章的好文章。
此外,这可能是有兴趣的http://hc.apache.org/httpcomponents-client-ga/以供将来参考。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.