为保证数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用。避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用,平台将于2017年12月30日停止对HTTP方式调用的支持。
问一下个人园友是怎么处理的?https调用需要证书,但是在微信公众号里面没有找到证书的下载地方,改成https不用证书可以吗?目前有没有开发微信公众号的已经修改成https的?我这边是java开发的。。急用。。。
我做接口对接时,提供方如果是要求https请求的话,好像可以跳过它的校验。
if(url.getProtocol().toUpperCase().startsWith("HTTPS")) {
SSLContext ctx = SSLContext.getInstance("SSL");
ctx.init(null, new TrustManager[]{new X509TrustManager() {
@Override
public void checkClientTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public void checkServerTrusted(X509Certificate[] chain,
String authType) throws CertificateException {
}
@Override
public X509Certificate[] getAcceptedIssuers() {
return null;
}
}}, new SecureRandom());
HttpsURLConnection conn = (HttpsURLConnection)url.openConnection();
conn.setRequestMethod("POST");
conn.setSSLSocketFactory(ctx.getSocketFactory());
conn.setConnectTimeout(10000);
conn.setReadTimeout(40000);
conn.setHostnameVerifier(new HostnameVerifier() {
@Override
public boolean verify(String hostname, SSLSession session) {
return true;
}
});
connection = conn;
}
我在网上找到过这个方法。可以是跑通的,但是不知道微信截止的时候能不能用。
@哈哈~~: 那就是https请求就行了吧,是微信公众号开发的需求吗?我的项目也有微信公众号项目,还不知道有这个事情呢?你在哪看到的?
@让我发会呆: 我们这个微信公众号国庆前开发完成的,然后前几天看见微信公众号的通知,你登录微信公众平台看通告就有。这个消息九月份就出来了。说是截止到12.30号调用微信的接口不在支持http请求。要用https。
@让我发会呆: 现在改成这样绕过验证这一步,不知道后面行不行。现在可以正常调用。就怕后面不行了,这是线上的,所以怕出问题。
@哈哈~~: 微信公众号这个我就不知道了,但是我项目的第三方接口调用,很多https请求都是这么用的。
@让我发会呆: 你呢边有没有点击菜单跳转个人信息页面的?这个页面是动态的
首先要求你用https就必须你自己要有证书,而证书是需要你购买的,你也可以到腾讯申请一个免费的ca证书吧,如果要付费的 至少要几千块一年。证书申请好以后,在你的web服务器接入后即可,tomcat和iis之类的 配置都不太一样,这个你可以自行百度,很多资料怎么把证书导入到你的web服务器。你的web服务器接入证书后,你在tomcat配置好https,保证你服务器443端口没有被占用,你的接口端就可以用https打开了。