带有参数和身份验证的 Java Get 请求

时间:2021-03-08 13:02:34

标签: java api get

我想在我的请求中加入一些参数(代码值和名称值):

    String code = "001";
    String name = "AAA";       

    HttpGet request = new HttpGet(url);
    String auth = user + ":" + mdp;

    byte[] encodedAuth = Base64.encodeBase64(
            auth.getBytes(StandardCharsets.ISO_8859_1));

    String authHeader = "Basic " + new String(encodedAuth);

    request.setHeader(HttpHeaders.AUTHORIZATION, authHeader);

    HttpClient client = HttpClientBuilder.create().build();
    HttpResponse response = client.execute(request);

    int statusCode = response.getStatusLine().getStatusCode();

如何使用身份验证请求执行此操作?

类似于:code=001&name=AAA 在 URL 中

1 个答案:

答案 0 :(得分:0)

使用 URIBuilder 构建您的网址

import org.apache.http.client.utils.URIBuilder;
//...
final String URI_PARAM_CODE = "code";
final String URI_PARAM_NAME = "name";

String code = "001";
String name = "AAA";

URI uri = new URIBuilder("http://google.com")
    .setParameter(URI_PARAM_CODE, code)
    .setParameter(URI_PARAM_NAME, name)
    .build();

您还可以在调用 URIBuilder::build 之前设置其他有用的属性 - 请参阅 Apache URIBuilder documentation