java 写一个http异步调用的案例,不要使用OkHttp
时间: 2024-04-04 22:35:30 浏览: 108
好的,以下是一个使用Java原生HttpURLConnection进行HTTP异步调用的示例代码:
```java
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpAsyncDemo {
public static void main(String[] args) throws Exception {
URL url = new URL("https://www.example.com");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
Thread thread = new Thread(new Runnable() {
@Override
public void run() {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String line;
while ((line = reader.readLine()) != null) {
System.out.println(line);
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
connection.disconnect();
}
}
});
thread.start();
// 继续执行其他代码
System.out.println("其他代码");
}
}
```
在这个示例中,我们使用了Java原生的HttpURLConnection类来进行HTTP异步请求,并创建了一个新的线程来处理异步请求的响应结果。在创建线程时,我们使用了一个匿名内部类来实现Runnable接口,并在run()方法中进行异步请求的处理。在请求完成后,我们使用finally块来断开连接。
需要注意的是,在异步请求中,我们需要使用线程来处理HTTP连接,否则会阻塞主线程。同时,我们也需要注意线程安全问题,例如同步块等。
阅读全文