/**********************https 接口'*******************/ /** * 安全证书管理器 */public class MyX509TrustManager implements X509TrustManager { @Override    public void checkClientTrusted(final X509Certificate[] chain,            final String authType) throws Cer…
由于我之前抓取的某APP接口全面换上了https接口,导致我在抓取过程中遇到了很大的困境 用Charles无法获取到内容,由于现在已经搞定了,无法展示当时的错误信息,我从网站找了一个类似的错误信息 首先点击https接口,Resquest和Response全部都是乱码,然后有类似于这样的提示: 当然我抓的不是这个,我从网上找的 想要解决这个问题需要几部 1.Charles设置 注意:由于Charles版本不同,可能过程略有不同,我的版本是3.11.4 1.1 Help --> SSL Proxy…
一.为什么进行代理接口的开发: 有些项目需要访问被墙了哒网站,比如前不久公司开发项目需要使用google地图的接口,而google在中国被墙了,所有打算做一个代理接口服务,将代理放到国外服务器上,通过访问该代理,在代理上请求google地图的接口,实现访问.然而访问的接口通信是采用的https通信,存在证书验证,使用httprequest请求时候需要带上证书进行验证,才能建立正确的链接.(在前一面一篇博客中已经写了如和下载https通信需要的证书) 二.使用HttpWebRequest请求htt…
近来公司需要搭建一个https的服务器来调试接口(服务器用的spring boot框架),刚开始接触就是一顿百度,最后发现互联网认可的https安全链接的证书需要去CA认证机构申请,由于是调试阶段就采用了java的keytool工具来生成密钥文件,下面是生成密钥文件的指令和步骤(前提是需要配置好java 的环境变量). 1.首先打开cmd命令,操作如下: keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 20…
作者: zyl910 一.缘由 最近有在对接一个无证书的HTTPS接口时,总是收到"SSLHandshakeException: DHPublicKey does not comply to algorithm constraints"异常. 通过浏览器.telnet测试了接口地址,确认了TCP层是通的.看来只是HTTPS层没通. 可是试验了好几个网上找到的"绕过证书验证调HTTPS接口"的办法,均也报这个错误,无法调通接口. 后来问了很多人,才终于找到处理办法.便…
实操篇 第一步:需要跟开发或者运维要到要访问的https接口的证书(有关证书的问题我们在原理中有解释). 第二步:确定要来的证书的格式是否为pem格式的.首先,LR只能够识别pem格式的证书而且是DER类型的pem格式的证书.其次,如果要来的证书为非pem格式的则需要进行证书格式的转换.(见第三步) 第三步:对crt格式证书进行DER类型的pem格式的证书转化. 解决办法: 1.  先从ie将crt证书安装到本机,然后再以cer格式导出证书 2.  Linux系统下执行命令:openssl x5…
最近公司项目需要对接Https接口,将对接的代码整理如下: public void Get() { HttpWebRequest request = null; request = WebRequest.Create("https://10.15.67.27:8073/api/tvwall") as HttpWebRequest; ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificat…
WebClient是Spring提供的非阻塞.响应式的Http客户端,提供同步及异步的API,将会代替RestTemplate及AsyncRestTemplate.文中所使用到的软件版本:Java 1.8.0_191.SpringBoot 2.2.1.RELEASE. 1.服务端 参见Java调用Http接口(1)--编写服务端 2.调用 使用WebClient需要用到Reactor Netty,依赖如下: <dependency> <groupId>org.springframe…
RestTemplate是Spring提供的用于访问Http接口的客户端,提供同步的API:在将来的Spring版本中可能会过时,将逐渐被WebClient替代.文中所使用到的软件版本:Java 1.8.0_191.SpringBoot 2.2.1.RELEASE. 1.服务端 参见Java调用Http接口(1)--编写服务端 2.调用Http接口 2.1.GET请求 public static void get() { try { String requestPath = "http://lo…
HttpAsyncClient是HttpClient的异步版本,提供异步调用的api.文中所使用到的软件版本:Java 1.8.0_191.HttpClient 4.1.4. 1.服务端 参见Java调用Http接口(1)--编写服务端 2.调用Http接口 2.1.GET请求 public static void get() { String requestPath = "http://localhost:8080/demo/httptest/getUser?userId=1000&u…