微信小程序http连接访问解决方案
HTTP + 加密 + 认证 + 完整性保护 = HTTPS,小程序考虑到信息安全的问题,选用了更为稳定安全的https 来进行信息传递。 HTTPS协议的主要作用可以分为两种:一种是建立一个信息安全通道,来保证数据传输的安全;另一种就是确认网站的真实性。 这就导致了许多好用的http? API无法在小程序中被调用。 但是也有解决方案。 1.中继访问? 中继访问有两种方式,一种需要自己拥有一个云服务和域名。 拥有域名和云服务器域名完成备案之后下载证书 https指引教程如下------>? 腾讯云上免费部署HTTPS再讲域名解析到你的云服务器的IP。 这样子你的域名就是https的了,小程序可以访问你的服务器了,现在就开始在云服务上实现访问http API 服务 实际上只需要面向小程序和API Server 做一个双面响应即可。 实现这种功能,显而易见,在服务器上部署一个Web项目是最简单的实现方式: 我们以访问豆瓣图书API 为例:https://api.douban.com/v2/book/isbn/ 豆瓣API虽然是https的,但是来自小程序的访问是被禁止的。下面代码同样适用于http 连接 Java代码: 这个是通用代码,无论是访问什么API
根据访问不同的API,只需要修改Servlet的写法就可以: Servlet: * Servlet implementation class doubanbook @WebServlet"/doubanbook" doubanbook extendsHttpServletprotectedvoid doGetHttpServletRequest requestHttpServletResponse response)throws requestsetCharacterEncoding responsesetContentType"text/html;charset=utf-8"setHeader"Access-Control-Allow-Origin""*""Access-Control-Allow-Methods""GET,POST"); isbn); json ().toJsonresultWritergetWriter();
} // TODO Auto-generated method stub 同样,你也可以用Python,php等语言来实现中继访问这个功能。
|