小程序数据请求限制
出于安全方面考虑,小程序官方对数据接口的请求做出了如下两个限制:
- 只能请求HTTPS类型的接口
- 必须将接口的域名添加到信任列表中(详情-域名信息中-request合法域名)
http与https的区别
https是http的安全版,是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议。是具有安全性的ssl加密传输协议
SSL 安全套接字协议,是一种安全协议。用于加密和验证应用程序(如浏览器)和web服务器之间发送的数据的协议。身份验证、加密https的加密机制是一种共享密钥加密和公开密钥加密并用的混合加密机制。
配置request合法域名
graph TD
微信小程序管理后台 --> 开发 --> 开发管理 --> 开发设置 --> 服务器域名 --> request合法域名
注意
- 域名只支持https协议
- 域名不能使用IP地址或localhost
- 域名必须经过ICP备案
- 服务器域名一个月内最多可申请5次修改
发起请求
微信小程序提供的wx.request()方法
wx.request({
url: 'https://www.escook.cn/api/get',
method: 'GET', // 通过method指定请求方式。GET、POST
data: {
name: 'zs',
age: 18
},
success: (res) => {
console.log(res)
}
})
跳过request合法域名校验
仅限在开发与调试阶段开启,项目部署与上线时不能跳过
详情-本地设置-开启选项(不校验合法域名、web-view(业务域名)、TLS版本以及HTTPS证书选项)
关于小程序跨域和Ajax的说明
跨域问题只存在于基于浏览器的web开发中,由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序中不存在跨域问题
Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,由于小程序的宿主对象是微信客户端,所以小程序中不能叫做 “发起Ajax请求”,而是叫做发起网络数据请求