首页 新闻 会员 周边 捐助

关于公众平台接口不再支持HTTP方式调用的公告

0
悬赏园豆:50 [已解决问题] 解决于 2018-01-25 11:34

为保证数据传输安全,提高业务安全性,公众平台将不再支持HTTP方式调用。避免影响正常使用中含有HTTP方式调用的服务,请开发者尽快调整,将现有通过HTTP方式调用的切换成HTTPS调用,平台将于2017年12月30日停止对HTTP方式调用的支持。

问一下个人园友是怎么处理的?https调用需要证书,但是在微信公众号里面没有找到证书的下载地方,改成https不用证书可以吗?目前有没有开发微信公众号的已经修改成https的?我这边是java开发的。。急用。。。

哈哈~~的主页 哈哈~~ | 初学一级 | 园豆:48
提问于:2017-12-19 14:49
< >
分享
最佳答案
0

我做接口对接时,提供方如果是要求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;

            } 

收获园豆:50
让我发会呆 | 老鸟四级 |园豆:2929 | 2017-12-19 16:44

我在网上找到过这个方法。可以是跑通的,但是不知道微信截止的时候能不能用。

哈哈~~ | 园豆:48 (初学一级) | 2017-12-19 16:58

@哈哈~~: 那就是https请求就行了吧,是微信公众号开发的需求吗?我的项目也有微信公众号项目,还不知道有这个事情呢?你在哪看到的?

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-12-19 17:08

@让我发会呆: 我们这个微信公众号国庆前开发完成的,然后前几天看见微信公众号的通知,你登录微信公众平台看通告就有。这个消息九月份就出来了。说是截止到12.30号调用微信的接口不在支持http请求。要用https。

哈哈~~ | 园豆:48 (初学一级) | 2017-12-19 18:18

@让我发会呆: 现在改成这样绕过验证这一步,不知道后面行不行。现在可以正常调用。就怕后面不行了,这是线上的,所以怕出问题。

哈哈~~ | 园豆:48 (初学一级) | 2017-12-19 18:19

@哈哈~~: 微信公众号这个我就不知道了,但是我项目的第三方接口调用,很多https请求都是这么用的。

让我发会呆 | 园豆:2929 (老鸟四级) | 2017-12-19 19:53

@让我发会呆: 你呢边有没有点击菜单跳转个人信息页面的?这个页面是动态的

哈哈~~ | 园豆:48 (初学一级) | 2017-12-20 11:09
其他回答(2)
0

证书需要购买并自己在服务器上部署,如果证书只用于一个域名,是免费的,详见 https://cloud.tencent.com/product/ssl

dudu | 园豆:30925 (高人七级) | 2017-12-19 16:33
0

首先要求你用https就必须你自己要有证书,而证书是需要你购买的,你也可以到腾讯申请一个免费的ca证书吧,如果要付费的 至少要几千块一年。证书申请好以后,在你的web服务器接入后即可,tomcat和iis之类的 配置都不太一样,这个你可以自行百度,很多资料怎么把证书导入到你的web服务器。你的web服务器接入证书后,你在tomcat配置好https,保证你服务器443端口没有被占用,你的接口端就可以用https打开了。

一脸沧桑的刘先生 | 园豆:204 (菜鸟二级) | 2018-01-11 18:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册