2019獨角獸企業重金招聘Python工程師標準>>>
- 為什么要使用云函數發送 http 請求
小程序 | 云函數 |
---|---|
5 個可信域名 | 不受限制 |
需要備案 | 無需備案 |
在一些特殊情境, 比如域名沒有備案或域名 5 個以上就需要使用云函數發送 HTTP 請求了.
- 如何使用云函數發送 HTTP 請求? 在云函數中能夠使用各種 Package 來發送 HTTP 請求, 在這演示 got.
- npm 安裝 got 庫
npm install got
-
安裝完成后能在 package.json 中看到新增了 got 依賴
-
通過 `httpbin.org' 來測試 HTTP 請求
- get 請求方式
// 云函數入口文件
const cloud = require('wx-server-sdk')
const got = require('got');
cloud.init()// 云函數入口函數
exports.main = async (event, context) => {let getResponse = await got('httpbin.org/get') return getResponse.body
}
- post 請求方式
// 云函數入口文件
const cloud = require('wx-server-sdk')
const got = require('got');
cloud.init()// 云函數入口函數
exports.main = async (event, context) => {let postResponse = await got('httpbin.org/post', {method: 'POST',headers: {'Content-Type': 'application/json'},body:JSON.stringify({title: 'title test',value: 'value test'})}) return postResponse.body
}
- pages/http 文件
<!--pages/http/http.wxml--><button bindtap='http'>http</button>
// pages/http/http.jsPage({http: function(event) {wx.cloud.callFunction({name: 'http'}).then( res => {console.log(res.result) // getconsole.log(JSON.parse(res.result)) // post})}
})