您现在的位置是:网站首页> 小程序设计
小程序请求不备案不要HTTPS方法
- 小程序设计
- 2023-03-11
- 1478人已阅读
小程序网络限制
大家都知道,若想在小程序中发起网络请求访问我们的WEB后端,必须要做类似如下的操作:
1.备案你的域名!
2.给你的后端服务上SSL证书!
3.到微信公众平台设置小程序请求域名白名单!
小程序里调用API请求访问我们的后端数据!
这一流程,不难!但对很多人来说,忒麻烦!
所以,这个项目出现了。
得益于小程序的云开发功能,让我们可以突破这个限制,来达到请求任何可访问的http数据!
(如:ip访问、http 80端口访问、自定义端口访问、未备案域名等场景)
不备案,不需HTTPS,不用白名单,直接在小程序里调用我们的API,请求任意网络数据!
1分钟快速部署
首先,我们前往v-request项目的开源地址:
https://github.com/guren-cloud/v-request
里边会有详细的部署和使用方法,我这里也简单介绍一下,真的很简单!新手1分钟搞定!
部署云函数
项目分为两部分,一个是我们的小程序云函数代码,在cloud目录中。
我们首先在开发者工具开通小程序云开发平台,然后初始化好环境之后,创建一个云函数,命名为
命名为 v-request(不要命名错了,重要!)
然后把index.js和package.json文件的内容替换为项目cloud目录中对应的文件内容,再右键进行上传部署(云端安装依赖)操作:
部署客户端
另一个文件,就是主目录下的v-request.js文件,这个是运行在我们小程序里的SDK客户端文件。
我们把它放入小程序的目录,如utils/目录中,然后在app.js文件中进行require加载即可:
开始体验黑科技
通过上边的简单部署,你已经可以在小程序的任意位置,使用 wx.vrequest 方法来进行任意HTTP网络数据请求啦!
(注意:是 vrequest,比官方的 wx.request 方法名前多了个v,也就是 wx.vrequest 哦!)
以下操作均在开启校验域名、HTTPS等设置以及小程序后台未配置request白名单的情况下进行的测试
GET请求测试
wx.vrequest({
url: 'https://mssnn.cn',
success: ret => {
console.log(ret.data);
}
})
返回数据
POST请求测试
wx.login({
success: ret => {
wx.vrequest({
url: 'https://wx5bbe79dd056cb238.mssnn.cn/v2/client/init',
data: 'code=' + ret.code,
dataType: 'json',
method: 'POST',
header: {
'Content-Type': 'application/x-www-form-urlencoded'
},
success: res => {
console.log('[post.res]', res);
}
})
}
})
返回数据:
是不是感觉用法很熟悉?
对!和官方的 wx.request API保持一致!不需要耗费过多学习成本!
应用场景
这个方法,已经能够让我们突破了微信官方的request白名单限制,但我们应该在哪个场景里使用比较合适呢?
我这里总结了小部分你应该会遇到的场景:
网站域名没进行备案
网站目前还是http 80端口,未开启https和配置ssl证书
网站没有域名,通过ip地址访问的
隐藏访问流量中的隐私数据,提高小程序后端的安全性
如果你有以上的需求,不妨试试这个黑科技,解决这一痛点难题,提高小程序开发效率!
项目地址:https://github.com/guren-cloud/v-request
觉得不错,欢迎点个star!
上一篇:uniapp快速回顾
下一篇:本地缓存在什么情况下会被用户清理