一、该问题的重现步骤是什么?
这里使用baseAuth("name","pwd")没起到作用,没有加入到Header里面,不知道怎么用。
3. 另外httpRequest在调用https时需要使用证书时又如何使用?
二、你期待的结果是什么?实际看到的又是什么?
期待的结果:
1、baseAuth("name","pwd")可以进行加密后加入到header
2、httpRequest在调用https时需要使用证书时又如何使用?
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
BladeXAvue联合版2.5四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
1. baseAuth的底层方法见下图,根据你传入的userName和password组成credential,然后放入Authorization请求头
2. 调用https没有差别,一样的
有没有加入到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();
一般建议配置单次请求的证书。
讨论(0)
- 热议问题
-
验证码如何限制只有数字
1
-
组态数据过滤器data显示为null
1
-
cloud项目运行启动报错
1
-
物联网平台的防注入代码在哪
1
-
漏洞:越权
2
-
升级最新版代码后,使用代码生成功能报错
1
-
broker模块如何设置用mqtt协议连接
1
-
saber3 4.6版本无法启动问题
1
-
物理模型设置参数时操作失败,如何设置监听topic?
1
-
nacos 配置两个数据源,我在项目引入最新的redis配置 但是不生效;请问什么原因;
2
扫一扫访问 Blade技术社区 移动端