首页 > 编程语言 >java发送get请求带参数

java发送get请求带参数

时间:2024-06-10 22:14:42浏览次数:16  
标签:Map java String get 发送 urlBuilder import append

在Java中,你可以使用java.net.HttpURLConnection或者org.apache.http.client.HttpClient来发送GET请求。以下是使用java.net.HttpURLConnection发送带参数的GET请求的示例代码:

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.util.Map;
import java.io.IOException;
 
public class HttpGetRequest {
 
    public static String sendGetRequest(String url, Map<String, String> queryParams) throws IOException {
        StringBuilder urlBuilder = new StringBuilder(url);
        if (queryParams != null && !queryParams.isEmpty()) {
            urlBuilder.append("?");
            for (Map.Entry<String, String> entry : queryParams.entrySet()) {
                urlBuilder.append(entry.getKey()).append("=").append(entry.getValue()).append("&");
            }
            urlBuilder.setLength(urlBuilder.length() - 1); // 移除最后一个"&"
        }
 
        URL obj = new URL(urlBuilder.toString());
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();
 
        // 设置请求方法为GET
        con.setRequestMethod("GET");
 
        int responseCode = con.getResponseCode();
        System.out.println("Response Code : " + responseCode);
 
        BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), StandardCharsets.UTF_8));
        String inputLine;
        StringBuilder response = new StringBuilder();
 
        while ((inputLine = in.readLine()) != null) {
            response.append(inputLine);
        }
        in.close();
 
        return response.toString();
    }
 
    public static void main(String[] args) {
        try {
            String url = "http://example.com/api";
            Map<String, String> queryParams = Map.of("param1", "value1", "param2", "value2");
            String response = sendGetRequest(url, queryParams);
            System.out.println(response);
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,sendGetRequest方法接受一个URL和一个参数Map,然后构建URL,并发送GET请求。返回的响应会被读取并返回。main方法展示了如何调用这个方法。

参考:百度AI

标签:Map,java,String,get,发送,urlBuilder,import,append
From: https://www.cnblogs.com/2008nmj/p/18241112

相关文章