學習了騰訊雲課堂的《小程序 雲開發-概念基礎》,做下筆記備忘。 日期: 2018年12月18日。開發者工具版本v1.02.1811290
為什么使用雲函數發送http請求?
1、不受5個可信域名限制 ,另外一個意思就是可以不是可信域名
2、所請求的域名可以不備案
注: 以上規則在筆者學習的時候還是有效的!
想要在雲函數中發送http請求,要借助外部的packge來完成,筆者所學的教程中介紹的是 got
測試代碼如下:
添加了名為http的pages
miniprogram:pages/http/http.wxml
1 <button bindtap="http">http</button>
miniprogram:pages/http/http.js
1 Page({ 2 http:function(e){ 3 wx.cloud.callFunction({ //調用雲函數 4 name:'http' //雲函數名為http 5 }).then(res=>{ //Promise 6 console.log(JSON.parse(res.result)) 7 }) 8 }, 9 10 })
新建名為http的雲函數並在http雲函數目錄下安裝got
npm install --save got
編輯http.js
cloudfunctions:http/http.js
1 // 雲函數入口文件 2 const cloud = require('wx-server-sdk') 3 4 const got = require('got'); //引用 got 5 6 cloud.init() 7 8 // 雲函數入口函數 9 exports.main = async(event, context) => { 10 //let getResponse = await got('httpbin.org/get') //get請求 用httpbin.org這個網址做測試 11 //return getResponse.body 12 let postResponse = await got('httpbin.org/post', { 13 method: 'POST', //post請求 14 headers: { 15 'Content-Type': 'application/json' 16 }, 17 body: JSON.stringify({ //把json數據(對象)解析成字符串 18 title: "網址", 19 value: 'anipc.com' 20 }) 21 }) 22 23 return postResponse.body //返回數據 24 }
這里只測試了get和POST兩種請求方式,其他請參照got文檔
保存后 上傳並部署
需要說明的是:現在雲函數本地不需要安裝依賴了,可以雲安裝依賴,也就是說你在新建雲函數是沒有安裝wx.server.sdk的,如果點 上傳並部署:所有文件 的話,就要先在本地先安裝本地依賴。
npm install --save wx-server-sdk
測試一下:
get
post