使用java实现http协议
时间: 2023-12-01 12:58:57 浏览: 30
Java可以通过内置的HttpURLConnection类和HttpClient库来实现HTTP协议。
使用HttpURLConnection类:
HttpURLConnection类是Java内置的用于发送HTTP请求和接收HTTP响应的类。下面是一个简单的示例:
```java
import java.net.*;
import java.io.*;
public class HttpExample {
public static void main(String[] args) {
try {
URL url = new URL("http://example.com");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.connect();
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null) {
System.out.println(inputLine);
}
in.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
使用HttpClient库:
HttpClient库是Apache开发的用于发送HTTP请求和接收HTTP响应的库。下面是一个简单的示例:
```java
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;
public class HttpExample {
public static void main(String[] args) {
try {
HttpClient httpClient = HttpClientBuilder.create().build();
HttpGet request = new HttpGet("http://example.com");
request.addHeader("User-Agent", "Mozilla/5.0");
request.addHeader("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
org.apache.http.HttpResponse response = httpClient.execute(request);
String content = EntityUtils.toString(response.getEntity());
System.out.println(content);
} catch (IOException e) {
e.printStackTrace();
}
}
}
```
这里使用HttpClientBuilder创建HttpClient对象,然后使用HttpGet创建GET请求并添加请求头,最后执行请求并接收响应。响应的内容可以使用EntityUtils.toString方法转换为字符串。