前言
在使用豆瓣api接口時(shí)六孵,由于微信小程序自帶UA無法修改纬黎,導(dǎo)致被豆瓣服務(wù)端輕易檢測出來,以至于被封劫窒,返回403本今。
網(wǎng)上的解決方法全都大同小異,且存在諸多成本或限額問題
本方法致力于主巍,不多寫一行無用代碼冠息,不消耗一毛錢成本,不浪費(fèi)一分鐘時(shí)間孕索。
問題
網(wǎng)上流傳兩種方法:
1逛艰、自己搭建nginx
如要正式上線,則需要一個(gè)服務(wù)器搭建正向代理搞旭,且得提供域名和有效證書散怖。
2、使用網(wǎng)友提供的代理接口
多人同時(shí)調(diào)用肄渗,很容易被限速
解決
使用小程序提供的云服務(wù)功能
1镇眷、新建一個(gè)云函數(shù),代碼如下
const cloud = require('wx-server-sdk')
var request = require('request');
// 初始化 cloud
cloud.init()
exports.main = async(event, context) => new Promise((resolve, reject) => {
request('https://api.douban.com/v2/book/search?q='+event.name,
function(error, response, body) {
if (!error && response.statusCode == 200) {
resolve(JSON.parse(body))
}
resolve(null)
});
})
2翎嫡、前臺調(diào)用
wx.cloud.callFunction({
name: 'doubanApi',
data: {
name: encodeURI("人類簡史")
},
success: res => {
console.log('[云函數(shù)] [douban] data: ', res)
},
fail: err => {
console.error('[云函數(shù)] [douban] 調(diào)用失敗', err)
}
})
3欠动、結(jié)果
0095d0d7d926ce6bae7f8e00375ee19.png
后記
別了怒其不爭的CSDN,第一篇發(fā)布在簡書的技術(shù)博客钝的,希望能給大家?guī)硪稽c(diǎn)幫助翁垂。