常见问题记录1:请求https时无证书

请求https无证书

1. 报错信息:

在这里插入图片描述

2. 解决方式:

本地代码调试,需要导入证书到JDK

-- 在cmd中执行以下命令,需要注意的是cmd需要管理权限运行,注意路径问题
keytool -import -keystore cacerts -file XXXX.file
默认密码: changeit

3. 证书来源,如果有网页,可以在网页中找到

在对应的页面中找到锁一样的东西,点击
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at java.base/sun.security.ssl.Alert.createSSLException(Alert.java:128) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:321) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:264) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.fatal(TransportContext.java:259) ~[na:na]
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.checkServerCerts(CertificateMessage.java:642) ~[na:na]
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.onCertificate(CertificateMessage.java:461) ~[na:na]
	at java.base/sun.security.ssl.CertificateMessage$T12CertificateConsumer.consume(CertificateMessage.java:361) ~[na:na]
	at java.base/sun.security.ssl.SSLHandshake.consume(SSLHandshake.java:392) ~[na:na]
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:444) ~[na:na]
	at java.base/sun.security.ssl.HandshakeContext.dispatch(HandshakeContext.java:421) ~[na:na]
	at java.base/sun.security.ssl.TransportContext.dispatch(TransportContext.java:178) ~[na:na]
	at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:164) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1152) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1063) ~[na:na]
	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:402) ~[na:na]
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.createLayeredSocket(SSLConnectionSocketFactory.java:404) ~[httpclient-4.5.7.jar!/:4.5.7]
	at org.apache.http.conn.ssl.SSLConnectionSocketFactory.connectSocket(SSLConnectionSocketFactory.java:364) ~[httpclient-4.5.7.jar!/:4.5.7]
	at com.amazonaws.http.conn.ssl.SdkTLSSocketFactory.connectSocket(SdkTLSSocketFactory.java:142) ~[aws-java-sdk-core-1.11.415.jar!/:na]
	at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:142) ~[httpclient-
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
常见的 JMeter 压测录制脚本问题有以下几个: 1. SSL/TLS问题:当录制 HTTPS 网站,JMeter 默认不会记录 SSL/TLS 请求。为了解决这个问题,你需要在 JMeter 的安装目录下找到 "ApacheJMeterTemporaryRootCA.crt" 文件,并将其导入到浏览器的可信任根证书颁发机构列表中。 2. 动态参数处理:在录制过程中,你可能会遇到一些动态生成的参数,例如会话 ID、间戳等。这些参数会导致脚本无法重放。为了解决这个问题,你需要使用 JMeter 的正则表达式提取器或者使用其他插件(如 Boundary Extractor、CSS/JQuery Extractor 等)来提取这些动态参数,并在脚本中进行替换。 3. Cookie 管理:在录制过程中,JMeter 默认会自动管理 Cookie。然而,有些网站可能会使用自定义的 Cookie 处理逻辑,导致录制的脚本无法正常运行。为了解决这个问题,你可以手动添加 Cookie 管理器,并在脚本中添加相关的 Cookie。 4. 响应数据处理:在录制过程中,JMeter 默认只会记录请求和响应的基本信息,并不会记录响应的详细数据。如果你需要对响应数据进行断言或提取特定内容,你需要使用 JMeter 的响应断言器或响应提取器等插件来处理响应数据。 5. 并发访问问题:在录制过程中,JMeter 默认会按照你的操作顺序生成线程组。然而,这样可能无法模拟真实的并发访问。为了解决这个问题,你可以手动添加线程组,并设置不同的线程数、启动延迟和持续间,以模拟更真实的并发访问场景。 希望以上解答能帮到你!如果你还有其他问题,请随提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值