【小程序】微信开发者工具上调用api接口可以,到了线上调用发现提示wx.request调用报错,原来是https协议问题

🌹欢迎来到《小5讲堂》🌹

🌹这是《小程序》系列文章,每篇文章将以博主理解的角度展开讲解。🌹

🌹温馨提示:博主能力有限,理解水平有限,若有不对之处望指正!🌹

目录

  • 前言
  • 真机调试
  • https协议过期
  • 为什么要https协议
      • [1. 数据安全与防篡改(核心原因)](#1. 数据安全与防篡改(核心原因))
      • [2. 保护用户隐私](#2. 保护用户隐私)
      • [3. 遵守法律法规和平台政策](#3. 遵守法律法规和平台政策)
      • [4. 确保功能完整性与可靠性](#4. 确保功能完整性与可靠性)
      • [5. 维护平台信誉和用户体验](#5. 维护平台信誉和用户体验)
      • 总结
  • 推荐文章

前言

有一段时间没有动过小程序代码了,大概三个月没动过了,今天在整理代码的时候,在开发工具上是可以调用成功API接口,但是线上的小程序就无法使用,调用wx.request方法直接报错,也没有直接输出错误信息res,然后直接真机调试查看具体错误信息。

真机调试

下面提示很明显,就是所,你的api接口https协议过期啦

"request:fail -201:net::ERR_CERT_DATE_INVALID"

https协议过期

直接访问自己的https的api测试接口,会有明显的提示:不安全,就是表示https协议过期啦

为什么要https协议

简单来说,小程序强制要求使用 HTTPS 协议 ,主要是为了保障数据安全用户隐私平台稳定性。这是微信、支付宝等小程序平台制定的铁律。

下面来详细分解一下具体原因:

1. 数据安全与防篡改(核心原因)

  • HTTP 的缺陷:传统的 HTTP 协议是明文的。数据在客户端(你的手机)和服务器之间传输时,就像寄送一张没有信封的明信片,任何中间环节(比如不安全的公共WiFi)都可能被窃听、截取或篡改。
  • HTTPS 的加密 :HTTPS 在 HTTP 基础上加入了 SSL/TLS 加密层。它相当于给数据通信加上了一个坚固的"加密隧道"。
    • 内容加密:传输的数据是加密的,即使被截获,黑客也无法直接读懂。
    • 校验机制:防止数据在传输过程中被第三方篡改。比如,服务器返回的用户信息是"余额100元",中途不会被改成"余额1元"。
    • 身份认证 :确保你的小程序是在与正确的、经过认证的服务器通信,而不是一个仿冒的钓鱼服务器。

对于小程序这种涉及用户登录、支付、个人数据等敏感信息的应用来说,防止"中间人攻击"是至关重要的。

2. 保护用户隐私

小程序运行在微信、支付宝这样的超级App内部,这些平台对用户隐私负有极大的责任。

  • 小程序可以获取用户的微信头像、昵称、手机号等高度敏感的信息。
  • 如果使用 HTTP,这些信息在传输时就会完全暴露,造成巨大的隐私泄露风险。
  • 强制 HTTPS 确保了即使用户在不可信的网络上使用小程序,其隐私数据也是安全的。这是平台履行其保护用户责任的关键措施。

3. 遵守法律法规和平台政策

  • 法律法规:像中国的《网络安全法》、《个人信息保护法》等都明确要求网络运营者要保障用户个人信息安全。强制使用 HTTPS 是平台遵守这些法律的具体体现。
  • 平台政策:微信、支付宝等平台的开发者协议中明确规定了必须使用 HTTPS。如果你的服务器接口不使用 HTTPS,在提交小程序审核时就无法通过。

4. 确保功能完整性与可靠性

许多现代 Web API(应用程序编程接口)本身就要求安全上下文(即 HTTPS 环境)才能使用。例如:

  • Service Worker(用于离线缓存和推送)
  • 地理位置 API(获取用户精确位置)
  • 支付接口
    小程序底层依赖的许多能力都与这些现代浏览器标准相关,HTTPS 是启用这些能力的前提,从而保证了小程序功能的完整性和可靠性。

5. 维护平台信誉和用户体验

想象一下,如果用户在一个小程序里进行支付,结果因为使用 HTTP 导致银行卡信息被盗。这不仅会毁掉那个小程序的信誉,更会严重损害微信或支付宝整个平台的信誉。用户会失去对"小程序"这种形态的信任。因此,平台通过强制 HTTPS 来为所有小程序提供一个基础的安全保障,维护整体的生态环境和用户体验。

总结

特性 HTTP HTTPS 对小程序的意义
数据传输 明文,不加密 加密传输 防止数据泄露和窃听
数据完整性 容易被篡改 具有完整性校验 防止数据被恶意修改
身份认证 无法验证服务器身份 验证服务器真实性 防止钓鱼和仿冒服务器
合规性 不符合安全法规 符合平台政策和法律法规 保证应用能正常上架运行
用户信任 低,不安全 高,安全 维护平台和小程序开发者的信誉

结论:

小程序强制要求 HTTPS,不是一个可选项,而是一个为了保障用户安全、维护平台稳定、遵守法律法规 而必须遵守的底线要求。它牺牲了一点服务器配置的便利性,换来了整个小程序生态的安全性和可信度。

推荐文章

【小程序】微信开发者工具上调用api接口可以,到了线上调用发现提示wx.request调用报错,原来是https协议问题

【小程序】微信小程序开发,给用户发送一次性订阅消息,常见参数长度和数据类型说明,你值得收藏

【小程序】微信小程序开发,分享给朋友或者朋友圈的功能增加地址参数,以及如何进行带参数本地测试

【小程序】.net core2.1对接微信支付开发时自己挖的坑

【前端】微信小程序,同名图片缓存问题,增加图片后缀动态参数值解决

【小程序】常用方法、知识点汇总1

【腾讯云】AI驱动TDSQL-C Serveress 数据库技术实战营-如何是从0到1体验电商可视化分析小助手得统计功能,一句话就能输出目标统计图

【随笔】博客质量分计算,如何让自己的博客脱颖而出,也许文章能够给你答案

【Sql Server】sql server 2019设置远程访问,外网服务器需要设置好安全组入方向规则

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

【1024程序员节】分享下博主的AI应用之旅,有哪些好玩有趣的智能体呢,不妨一起探索下

相关推荐
心.c4 小时前
深入理解HTTP协议的本质
网络·网络协议·http
手握风云-4 小时前
JavaEE 初阶第二十八期:HTTP协议深度揭秘(二)
网络·网络协议·http
爱隐身的官人5 小时前
微信小程序反编译教程
微信小程序·小程序·小程序反编译
Jul1en_5 小时前
HTTP初识
网络·网络协议·http
wang09075 小时前
网络协议之文件下载相关协议
网络·网络协议
G佳伟6 小时前
你好,因用户投诉并经平台审核,发现账号已发布的服务所选类目与小程序运营内容不符合,亲测有效
小程序
计算机徐师兄6 小时前
Java基于SpringBoot的智慧校园管理系统小程序【附源码、文档说明】
java·微信小程序·小程序·智慧校园管理系统小程序·java智慧校园管理系统小程序·智慧校园管理系统微信小程序·智慧校园管理微信小程序
毕设源码-赖学姐6 小时前
【开题答辩全过程】以 宝贝回家网微信小程序为例,包含答辩的问题和答案
微信小程序·小程序
默凉8 小时前
cpp http 客户端与服务端 POST请求
网络·网络协议·http