javascript - 微信小程序无法访问豆瓣v2 api?
伊谢尔伦
伊谢尔伦 2017-04-11 09:46:35
[JavaScript讨论组]

今天在做一个微信小程序的时候,用到豆瓣API v2 一直400 badrequest,
代码如下

const  api = require('../../utils/api.js')

Page({
  data:{
    movies:[],
    hidden:false
  },
  onLoad:function(){
    // this.getMovies("30")
    wx.request({
      url:"https://api.douban.com/v2/movie/coming_soon",
      method:"GET",
      success:function(res){
        console.log(res)
      }
    })
  },
  // getMovies:function(num){
  //   let url = api.searchMovies +`?count=${num}`,
  //       self = this;
  //   wx.request({
  //     url:url,
  //     method:"GET",
  //     success:function(res){
  //       let data = res.subjects
  //       console.log(data)
  //       self.setData({
  //         hidden:true,
  //         movies:data
  //       })
  //     }
  //   })
  // }
})

尝试换了好多个接口地址都报400,然而我用浏览器就可以成功拿到数据了,折腾一下午不知道为什么不行...

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

全部回复(5)
大家讲道理

跟你的问题一样,而且设置了'Content-Type': 'application/json',依然显示400 (Bad Request),不知道是否解决?


解决了,参考:http://www.cnblogs.com/bubble...

PHPz

可能是豆瓣方面对接口的请求来源做了限制,可以从 UA 方面排查一下,用微信小程序的 UA 发起一个请求试试

微信允许小程序跨域并不意味着豆瓣允许明显不正常的 UA 获取资源

大家讲道理

你要在公众平台上设置可请求的域名啊

黄舟

你的问题有点意思:
请你试一下,REQUEST请求头设一下Content-Type参数。

    wx.request({
        url: "https://api.douban.com/v2/movie/coming_soon",
        header: {
            'Content-Type': 'application/json'
        },
        。。。。
        
        

我抓包比较过,有三种情况,有一种情况会被豆瓣400拒绝:
1,HTTP请求不带Content-Type参数,,服务端正常返回。
抓CHROME打开链接时,就是这种情况。

2,HTTP请求带这种形式的: Content-Type: application/json, application/json, 正常。
在微信小程序wx.Request时,这样设参数,就会这样请求,看来会把同名参数值组合一下。

        header: {
            'Content-Type': 'application/json'
        },

3,HTTP请求带这种形式的:Content-Type: application/json, 会收到400
在微信小程序wx.Request时,好象自己不设Content-Type,会带上这种形式参数。


补充说一下,比对过,User-Agent 参数应该无关。

PHPz

header:{

"Content-Type":"json"

},

这样做ide能请求成功,在手机里又不行了,报400的错误

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号