微信小程序与云服务器沟通,学会这2招,你可以拥有自己的小程序

上期文章我们分享了如何使用Python+Flask+Tornado+Nginx部署自己的web服务器,待我们部署完自己的小程序后,如何使用微信开发,或者头条开发自己的小程序?小程序如何跟服务费打交道,本期文章带你看http 的get 与post 方法

http协议

在了解get和post之前,我们要先了解TCP/IP和http。简单来说,TCP/IP是网络架构,TCP/IP是五层网络架构(区分于OSI七层架构),TCP/IP自上而下分为应用层,传输层,网络层,数据链路层,物理层。Http是位于应用层的协议,TCP位于传输层(区别于UDP),IP是位于网络层的。简单来说,Http是基于TCP/IP的一种通信协议(超文本传输协议,所有www都必须遵循这个协议,你所看到的网页都是基于这个协议)。

  Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。

get会产生一个TCP数据包,POST会产生两个TCP数据包。

get会发送http header和data给服务端,服务端返回一个200,请求成功。

post会先发送http header给服务端,告诉服务端等一下会有数据过来,服务端返回100,告诉客户端我已经准备接收数据,post在发送一个data给服务端,服务端返回200,请求成功。

无论是get请求或者post请求,都可以与云服务器沟通数据,只是在开发时,代码略有区别

代码实战

小程序的get请求

flask 的web服务,默认是get请求,首先我们设计服务器端的代码:

from flask import Flask, render_template, request, Response
app = Flask(__name__)
@app.route('/login', methods=['	GET	'])
def login():
 	  pwd = request.args.get('pwd')
    username = request.args.get('username')
    #username = request.form['username']
    #pwd = request.form['pwd']
    if username == '123'and pwd == '123':
        return '成功'
    else:
        return '失败'
if __name__ == '__main__':
    app.run()

我们按照最简单的登录验证的例子来讲述get 与post的区别

以上代码的意思是当有get请求/login 的url地址时,服务器来接受客户端传递的数据

接受数据使用request.args.get函数来接受

小程序端代码:

tt.request({
               url: '127.0.0.1/login', //本地服务器地址
                data: {
                  'pwd': '123',
                  'username':'123'
                },
                method: 'GET',
                header: {
                  "Content-Type": "application/json" //默认值
                },
                success: function (res) {
                print(res.data)
                }
})

微信小程序(wx.request)或者头条小程序(tt.request)都设计有request请求函数来处理url请数据请求

以上便是头条小程序端的代码设计,我们填写url的请求地址,请求的数据data,设计请求方式为get

设计请求的header

当请求完成后,服务器返回请求的数据给小程序,我们直接在sucess函数里面便可以打印服务器传递的数据res.data

有了服务器的数据,便可以 处理一些数据。

小程序的post请求

小程序的post请求,服务器端代码

from flask import Flask, render_template, request, Response
app = Flask(__name__)
@app.route('/login', methods=['	POST'])
def login():
    username = request.form['username']
    pwd = request.form['pwd']
    if username == '123'and pwd == '123':
        return '成功'
    else:
        return '失败'																								
if __name__ == '__main__':		
    app.run()

与get请求不同的是,请求方式设计为post,处理数据使用request.form函数

通过以上基础知识的了解,由于post请求是表单类的请求,这里获取数据自然使用form表单类函数

小程序端代码:

当然post请求,客户端的代码也稍微有所区别

tt.request({
               url: '127.0.0.1/login', //本地服务器地址
                data: {
                  'pwd': '123',
                  'username':'123'
                },
                method: 'POST',
                header: {
                  'content-type': 'application/x-www-form-urlencoded'
                },
                success: function (res) {
                print(res.data)
                }
})

通过以上代码,可以看到主要的区别是post请求的header与get的header不同

无论哪种请求方式,小程序都可以与服务器进行数据的交流沟通,当然,你也可以使用服务器上的数据库,关于python数据库的操作,小伙伴们可以参考往期的文章分享。

ok,通过以上的分享,广大小伙伴们可以自行尝试快速搭建自己 的服务器以及小程序,中间过程中若有不明白的可以相互沟通交流

更多transformer,VIT,swin tranformer
参考头条号:人工智能研究所
v号:启示AI科技
微信中复制如下链接,打开,免费使用chatgpt
 
https://wx2.expostar.cn/qz/pages/manor/index?id=1137&share_from_id=79482&sid=24

 动画详解transformer  教程链接

  • 16
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

人工智能研究所

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值