[小程序]Http网络请求

一、数据请求限制

出于安全性(bushi)考虑,小程序请求的数据接口必须具备以下两个条件:

①只能请求Https类型

②必须将接口域名添加到信任列表中

1.配置request合法域名

配置步骤如下:小程序管理后台 ->开发 ->开发设置 ->服务器域名 ->修改request合法域名

2.发起GET请求

调用wx.request()方法发起GET请求,代码如下:

复制代码
wx.request({
    url : 'https:',     //请求地址
    methond : 'GET',    //请求方式
    data:{              //需要发送的数据
        name : 'Alice',
        age : 22
    },
    success:(res) =>{    //回调函数
        console.log(res)
}
})

3.发起POST请求

和GET请求一样,请求类型调整为POST即可。

复制代码
wx.request({
    url : 'https:',     //请求地址
    methond : 'POST',    //请求方式
    data:{              //需要发送的数据
        name : 'Alice',
        age : 22
    },
    success:(res) =>{    //回调函数
        console.log(res)
}
})

二、本地调试

开发者在进行开发时,为了缩短开发进度可以使用http协议和本地IP进行调试,这里以小程序+flask服务器为例。(记得在项目中勾选"不校验合法域名")

flask服务器的配置如下:

复制代码
from flask import Flask        #导入Flask包
from flask import request
app = Flask(__name__)

@app.route('/')                #设置路由
def hello_world():
    return "Hello World"

@app.route('/test',methods=['GET'])
def get():
    page = request.args.get("page",default=1,type=int)      #参数名,默认参数,参数类型
    print('GET:{}'.format(page))
    return "{}".format(page)

@app.route('/test',methods=['POST'])
def post():
    if request.method == 'POST': 
        #从request获取查询参数
        page = request.form['page']
    print('POST:{}'.format(page))
    return "{}".format(page)

if __name__ == "__main__":     #启动程序
    #app.run(host='你的IP',ssl_context='adhoc')    #启用临时CA证书,但是不适用于小程序
    app.run(host='你的IP')
    #app.run()

IP地址为服务器所在的电脑的IP地址,可以在cmd中使用ipconfig指令查看。

小程序的get方法如下:

复制代码
getTest(e){
    const that = this
     wx.request({
       url:'IP地址和接口',
       method:'GET',
       data:{
         page:10,
       },
       success(res) {
         console.log(res.data);
         that.setData({ PageX: res.data });
       },
       fail(res){
         console.log(res)
       }
     });  
   },

效果如下:

同时服务器端也可以正常收到get

相关推荐
ALex_zry6 小时前
C++网络编程心跳机制与连接保活:长连接稳定性保障
开发语言·网络·c++
@insist1238 小时前
网络工程师-信道容量计算与 PCM 编码:数据通信核心原理及软考考点解析
网络·网络工程师·pcm·软考·软件水平考试
桌面运维家9 小时前
VHD/VHDX 数据守护:BAT位图校验与修复
linux·服务器·网络
F1FJJ10 小时前
Shield CLI Postgres v0.3.10:当 142 张表挤在一张 ER 图里,我们做了什么
网络·vscode·网络协议·postgresql·开源软件
TechWayfarer11 小时前
高并发场景下的IP归属地查询架构:从20ms到0.5ms的优化实践
网络协议·tcp/ip·架构
Hello_Embed11 小时前
嵌入式上位机开发入门(四):TCP 编程 —— Client 端实现
网络·笔记·网络协议·tcp/ip·嵌入式
小雨青年11 小时前
鸿蒙 HarmonyOS 6 | Video 组件网络视频播放异常排查实战
网络·音视频·harmonyos
网硕互联的小客服11 小时前
CentOS系统如何卸载桌面并以shell 字符界面启动?
运维·服务器·网络·安全
大连好光景13 小时前
接口测试之Postman+Jmeter
jmeter·http·postman
电子科技圈13 小时前
Durin:Aliro标准赋能,打造无缝移动入户体验
人工智能·mcu·物联网·网络协议·智能家居·智能硬件·iot