小程序服务器域名配置 html,微信小程序之wx.request网络请求与服务器配置

关于小程序中网络相关API的说明

在小程序中使用网络相关的 API 时,需要注意下列问题:

服务器域名配置

每个微信小程序需要事先设置一个通讯域名,小程序可以跟指定的域名与进行网络通信。包括普通 HTTPS请求(request)、上传文件(uploadFile)、下载文件(downloadFile) 和 WebSocket 通信(connectSocket)

配置流程

服务器域名请在 小程序后台-设置-开发设置-服务器域名 中进行配置,配置时需要注意:

域名只支持 https (request、uploadFile、downloadFile) 和 wss (connectSocket) 协议;

域名不能使用 IP 地址或 localhost,且不能带端口号;

域名必须经过 ICP 备案;

出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关API也不能在小程序内调用。开发者应将 appsecret 保存到后台服务器中,通过服务器使用 appsecret 获取 accesstoken,并调用相关 API。

对于每个接口,分别可以配置最多20个域名

HTTPS 证书

小程序必须使用 HTTPS 请求。小程序内会对服务器域名使用的HTTPS 证书进行校验,如果校验失败,则请求不能成功发起。由于系统限制,不同平台对于证书要求的严格程度不同。为了保证小程序的兼容性,建议开发者按照最高标准进行证书配置,并使用相关工具检查现有证书是否符合要求。

对证书要求如下:HTTPS 证书必须有效。证书必须被系统信任,部署SSL证书的网站域名必须与证书颁发的域名一致,证书必须在有效期内;

iOS 不支持自签名证书;

iOS 下证书必须满足苹果 App Transport Security (ATS) 的要求;

TLS 必须支持 1.2 及以上版本。部分旧 Android 机型还未支持 TLS 1.2,请确保 HTTPS 服务器的 TLS 版本支持1.2及以下版本;

部分 CA 可能不被操作系统信任,请开发者在选择证书时注意小程序和各系统的相关通告。

关于请求

默认超时时间和最大超时时间都是 60s

request、uploadFile、downloadFile的最大并发限制是 10个

网络请求的 referer header不可设置。其格式固定为 https://servicewechat.com/{appid}/{version}/page-frame.html,其中{appid}为小程序的 appid,{version} 为小程序的版本号,版本号为 0 表示为开发版、体验版以及审核版本,版本号为 devtools 表示为开发者工具,其余为正式版本。

小程序进入后台运行后(非置顶聊天),如果 5s 内网络请求没有结束,会回调错误信息 fail interrupted;在回到前台之前,网络请求接口调用都会无法调用。

关于服务器返回

返回值编码

建议服务器返回值使用 UTF-8 编码。对于非 UTF-8 编码,小程序会尝试进行转换,但是会有转换失败的可能。

小程序会自动对BOM 头进行过滤。

回调

只要成功接收到服务器返回,无论statusCode是多少,都会进入success回调。请开发者根据业务逻辑对返回值进行判断。

wx.request(OBJECT)网络请求示例代码:// wx.request 网络请求(./util.js)

function http(url,callBack,data) {

wx.request({

url: url, // 请求服务器地址

data:{skip:data},  // 请求的参数

method: 'GET',  // (需大写)有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT

header: {  // 设置请求的 header,header 中不能设置 Referer。

// 'content-type': 'application/json' // 默认值

'content-type': 'application/xml' // 默认值

},

success: function (res) { // 收到开发者服务成功返回的回调函数

// success

callBack(res.data);

},

fail: function () { // 接口调用失败的回调函数

console.log("出错了!");

}

});

}/**

* 生命周期函数--监听页面加载

*/

onLoad: function (e) {

var that = this;

wx.showLoading({ title: '加载中', }); // 数据加载提示框

// 文章列表请求

var url = app.globalData.wxBlogUrl + "ArticleList";

util.http(url, that.blogArticleData);

},// 文章数据处理

blogArticleData: function (data) {

var totalArticle = {};

if (data != '') {// 判断请求数据返回是否为空

// 追加文章新数据和旧数据合并

if (!this.data.isEmpty && this.data.totalCount != 0) {

totalArticle = this.data.Article.concat(data);

} else {

totalArticle = data;

this.data.isEmpty = false;

}

console.log(totalArticle);

this.setData({

Article: totalArticle

});

wx.hideLoading(); // 隐藏提示框

}else{

wx.showToast({

title: '没有更多的数据!',

icon: 'success',

duration: 2000

})

}

},

小程序服务器域名配置 html,微信小程序之wx.request网络请求与服务器配置_第1张图片

你可能感兴趣的:(小程序服务器域名配置,html)