前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序请求server时遇到的2个问题

微信小程序请求server时遇到的2个问题

作者头像
dys
发布2018-04-04 11:44:14
1.6K1
发布2018-04-04 11:44:14
举报
文章被收录于专栏:性能与架构性能与架构

简介

微信小程序与服务器的沟通逻辑并不复杂,流程:

前3步做好以后,我在最后一步遇到了2个问题,花费了很多时间,总结出来供大家在开发小程序时参考

问题1: invalid url

在小程序中调用网络请求接口从服务器获取数据:

代码语言:javascript
复制
wx.request({
  url: 'https://www.xxx.com/test.php',
  ...
})

这段代码非常简单,小程序API中也给出了示例代码,但执行后报错:

代码语言:javascript
复制
request:fail invalid url 

文档没有此类错误的说明,网上也没有资料,试了很多方法都不行

很费解,找不到原因,后来在一次无意的尝试中解决了

方法:把 url 的单引号改为 `(与 ~ 同键)

代码语言:javascript
复制
...

url: `https://www.xxx.com/test.php`,

...

我这个 url 字符串中并没有引用变量,不明白为什么单引号不行,而需要使用 `,如果你知道原因,拜托发个消息指点我一下

问题2: TLS 1.2

上个问题解决后,又出现新的问题:

代码语言:javascript
复制
TLS版本必须大于等于1.2

这个问题是小程序文档中明确指出的,这说明自己服务器的TLS版本过低,需要升级

先查看一下自己的 TLS 版本是多少:

浏览器中访问自己的 https URL,浏览器地址栏前面有个绿色小锁的图标,点击后可以查看安全信息,其中就有 TLS 的版本,我的为 TLS 1.0

升级过程

1)升级 OpenSSL

查看服务器 OpenSSL版本

代码语言:javascript
复制
openssl version -a 

0.0.98,这个版本还不支持 TLS 1.2,要升级到 1.0.2

2)重新编译 Nginx

之前安装 Nginx 时 OpenSSL 是旧版,OpenSSL 升级后需要重新编译 Nginx

这两步做完后,浏览器中再次访问,点击绿色锁查看信息,TLS 版本变为了 1.2,在小程序客户端中也可以正常得到请求结果

小结

这里介绍的是大体思路,具体操作步骤之后再整理出来发布,例如:

  • 免费SSL证书的申请方式
  • Nginx https 的配置方式
  • OpenSSL升级步骤
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-01-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 问题1: invalid url
  • 问题2: TLS 1.2
    • 升级过程
    • 小结
    相关产品与服务
    云开发 CloudBase
    云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档