【问题标题】:Apache HTTP Client FluentApache HTTP 客户端流利
【发布时间】:2020-02-17 16:39:58
【问题描述】:

您好,我想使用 Apache HTTP Client Fluent 创建下载文件的请求。我需要在请求中添加 Autorization Basic Auth 以传递用户名和密码,但我找不到如何做的好例子。

我可以看到一个 addHeader 方法,但找不到如何构造它的好例子。谢谢!

到目前为止我的代码是:

String auth = username + ":"+ token
byte[] encodedBytes = Base64.encodeBase64(auth.getBytes());
String encodedAuth = new String(encodedBytes)
URL downloadFileURL = new URL (urlbuild)

Executor executor = Executor.newInstance();
executor.execute(Request.Get(downloadFileURL.toURI())
 .setHeader(HttpHeaders.AUTHORIZATION, "Basic " + encodedAuth )
 .connectTimeout(1000))
  .saveContent(new File(mobileAppPath + System.getProperty("file.separator") + mobileApp.name));

【问题讨论】:

  • 但我得到了异常:原因:javax.net.ssl.SSLHandshakeException:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效认证路径

标签: apache-httpclient-4.x


【解决方案1】:

问题是由于 Java 尝试验证 SSL 证书,我在执行请求之前使用下面的 Java 代码信任所有主机。 https://www.javatips.net/api/java.security.cert.x509certificate

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-30
    • 1970-01-01
    • 2020-07-07
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多