一、该问题的重现步骤是什么?
这里使用baseAuth("name","pwd")没起到作用,没有加入到Header里面,不知道怎么用。
3. 另外httpRequest在调用https时需要使用证书时又如何使用?
二、你期待的结果是什么?实际看到的又是什么?
期待的结果:
1、baseAuth("name","pwd")可以进行加密后加入到header
2、httpRequest在调用https时需要使用证书时又如何使用?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeXAvue联合版2.5四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
有没有加入到Header先把 log 开启,看下日志。
这个认证是 base auth 的方式,请确认你的认证方式是不是正确。
证书你可以参考下面的方式
InputStream isTrustCa = HttpRequestTest.class.getResourceAsStream("/cert/ca.jks"); InputStream isSelfCert = HttpRequestTest.class.getResourceAsStream("/cert/outgoing.CertwithKey.pkcs12"); KeyStore selfCert = KeyStore.getInstance("pkcs12"); selfCert.load(isSelfCert, "password".toCharArray()); KeyManagerFactory kmf = KeyManagerFactory.getInstance("sunx509"); kmf.init(selfCert, "password".toCharArray()); KeyStore caCert = KeyStore.getInstance("jks"); caCert.load(isTrustCa, "caPassword".toCharArray()); TrustManagerFactory tmf = TrustManagerFactory.getInstance("sunx509"); tmf.init(caCert); SSLContext sc = SSLContext.getInstance("TLS"); TrustManager[] trustManagers = tmf.getTrustManagers(); X509TrustManager trustManager = (X509TrustManager) trustManagers[0]; sc.init(kmf.getKeyManagers(), trustManagers, (SecureRandom) null); // a. 全局配置证书 OkHttpClient.Builder builder = new OkHttpClient.Builder() .sslSocketFactory(sc.getSocketFactory(), trustManager) .hostnameVerifier(TrustAllHostNames.INSTANCE); HttpRequest.setHttpClient(builder.build()); // b. 单次请求配置证书 HttpRequest.get("https://123.xxx") .useConsoleLog(LogLevel.BODY) .sslSocketFactory(sc.getSocketFactory(), trustManager) .disableSslValidation() .execute() .asString();
一般建议配置单次请求的证书。
扫一扫访问 Blade技术社区 移动端