微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决带有参数和身份验证的 Java 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 中

解决方法

使用 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。