java写一个get请求工具类 并往请求头里添加key值
时间: 2024-09-12 15:05:30 浏览: 16
在Java中,我们可以创建一个简单的Get请求工具类,使用`HttpURLConnection`或者第三方库如`OkHttp`或`HttpClient`。这里以`HttpURLConnection`为例,演示如何创建一个GET请求并在请求头中添加键值对:
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class HttpRequestUtil {
public static String sendGetRequest(String urlString, Map<String, String> headers) throws Exception {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
// 设置请求头
for (Map.Entry<String, String> entry : headers.entrySet()) {
connection.setRequestProperty(entry.getKey(), entry.getValue());
}
connection.connect();
int responseCode = connection.getResponseCode();
if (responseCode == HttpURLConnection.HTTP_OK) {
try (BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"))) {
StringBuilder response = new StringBuilder();
String line;
while ((line = in.readLine()) != null) {
response.append(line).append("\n");
}
return response.toString();
}
} else {
throw new RuntimeException("Failed to retrieve data. Response code: " + responseCode);
}
}
}
// 使用示例:
Map<String, String> headers = new HashMap<>();
headers.put("Authorization", "Bearer your_token");
headers.put("Accept", "application/json");
String response = HttpRequestUtil.sendGetRequest("https://api.example.com/resource", headers);
```
这个工具类会向指定URL发起GET请求,并按照提供的headers配置请求头。如果请求成功,它将返回服务器响应的内容;否则,会抛出异常。