java中的异步HTTP请求

java中的异步HTTP请求,java,http,post,get,urlconnection,Java,Http,Post,Get,Urlconnection,如何在java中发送异步HTTP GET/POST请求而不等待/读取响应?我不想使用任何第三方库 可以使用 如果您对使用第三方库感兴趣,那么您可能想看看 如果您对读取响应根本不感兴趣,您可以使用创建连接,然后立即关闭套接字(或者忽略它,让它超时,如果您觉得对服务器很刻薄的话)。这并不是严格意义上的异步,但它比任何依赖于获取和解析服务器响应的方法都要快得多 当然,这可以通过手动或使用java.util.concurrent中可用的实用程序将openStream()调用卸载到另一个线程来实现异步。如

如何在java中发送异步HTTP GET/POST请求而不等待/读取响应?我不想使用任何第三方库

可以使用

如果您对使用第三方库感兴趣,那么您可能想看看


如果您对读取响应根本不感兴趣,您可以使用创建连接,然后立即关闭套接字(或者忽略它,让它超时,如果您觉得对服务器很刻薄的话)。这并不是严格意义上的异步,但它比任何依赖于获取和解析服务器响应的方法都要快得多


当然,这可以通过手动或使用
java.util.concurrent

中可用的实用程序将
openStream()
调用卸载到另一个线程来实现异步。如果您不介意将Jetty库添加到应用程序中,我建议您使用类似Jetty HttpClient的工具。下面是Jetty的wiki页面中的一个很好的示例。

URL.openConnection()没有向服务器发送HTTP请求。这是代码URL URL=new URL(“);URLConnection myURLConnection=URL.openConnection();myURLConnection.connect();我看到了apache访问日志,它没有收到请求。@pavan-啊,我的错误,要使用的API实际上是
openStream()
,而不是
openConnection()
openConnection()
准备连接对象,但实际上没有建立到服务器的连接。
openStream()
建立连接并返回与之关联的
InputStream
,然后您可以自由阅读、关闭或忽略它。我将相应地编辑我的答案。确实…!感谢@Sandeep Pathak!:d来自上面链接的文档:“发送()方法在将交换分派到线程池执行后立即返回,因此,不是真正的异步。