小程序调取豆瓣接口失败显示403

本文介绍了小程序在调用豆瓣公开接口时遇到403错误的解决方案。通过将接口地址更改为http://t.yushu.im虽能成功,但数据不全。最终采用服务器反向代理的方式成功解决问题,需重启nginx来应用更改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

小程序调用豆瓣公开接口失败显示403解决办法

正常小程序调用豆瓣开放接口时,官网地址,用官网接口是这样的

这里写图片描述
但是接口会返回 403 或者其他错误,之前试过把接口里的 https://api.douban.com 更成 http://t.yushu.im,如下图,虽然也能成功,但是调取的数据和官网上的不一样
这里写图片描述
所以后来又找了很多解决办法,最后是给自己的服务器做了反向代理,就好了,具体原理我也不清楚,所以还是直接上代码吧
这里写图片描述

location /v2/ {
                proxy_store off;
                proxy_redirect off;
                proxy_set_header X
### 微信小程序调用登录接口示例教程 在微信小程序开发过程中,为了实现用户的认证功能,通常会使用微信提供的登录接口。通过该接口可以获取到临时登录凭证 code,并将其发送给服务器端换取 session_key 和 openid。 #### 获取用户登录凭证 (code) 当用户打开小程序时,可以通过 `wx.login` 方法来获得用户的登录状态以及拉取用户信息所需的 code: ```javascript wx.login({ success(res) { if (res.code) { console.log('Login Code:', res.code); // 将 code 发送到开发者服务器进行处理 } else { console.error('Failed to get login information:', res.errMsg); } }, }); ``` 此方法返回的数据包中包含了用于换取 session 的临时票据 code[^1]。 #### 向开发者服务器请求数据 一旦获得了 code,则需要向自己的 PHP 或其他语言编写的后端服务发起 HTTP 请求,传递这个 code 参数以便于后续操作。这里以 GET 方式为例说明如何构建这样的网络请求: ```javascript const app = getApp(); // 假设这是你的服务器地址 const serverUrl = 'https://yourserver.com/login'; wx.request({ url: serverUrl, method: 'GET', data: { js_code: res.code }, // 把刚才得到的 code 放在这里面传过去 header: { 'content-type': 'application/json' // 默认值 }, success(response) { const respData = response.data; // 处理从服务器接收到的数据... console.log(respData); // 可能还需要保存某些重要信息比如 token 到本地存储里边去供之后使用 wx.setStorageSync('token', respData.token || ''); // 更新全局变量中的 userInfo 字段 app.globalData.userInfo = respData.userinfo; }, fail(error) { console.error('Request failed:', error); } }); ``` 上述代码片段展示了怎样利用 JavaScript 中的 `wx.request()` 函数来进行跨域 AJAX 调用来交换必要的身份验证令牌和其他相关信息[^2]。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值