V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
fazero
V2EX  ›  Node.js

axios 调接口报错问题 Error: Parse Error

  •  
  •   fazero · 2019-02-27 16:23:11 +08:00 · 4121 次点击
    这是一个创建于 2096 天前的主题,其中的信息可能已经有所发展或是发生改变。

    node 10.14.2axios调这个接口https://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH600926报错,报错信息是

    { Error: Parse Error
        at Socket.socketOnData (_http_client.js:442:20)
        at Socket.emit (events.js:182:13)
        at addChunk (_stream_readable.js:283:12)
        at readableAddChunk (_stream_readable.js:264:11)
        at Socket.Readable.push (_stream_readable.js:219:10)
        at TCP.onStreamRead (internal/stream_base_commons.js:94:17)
    

    但是这个接口直接在浏览器访问是可以返回数据的,在 postman 也是可以调用的,这个报错信息看起来是代码的错误,但是代码好像没问题吧,下面是代码,还是说这个接口限制导致报错的,但是限制的话返回的报错信息也应该不是这样的?

    望路过的可以解答下。

    const axios = require('axios')
    
    const url = 'http://stock.xueqiu.com/v5/stock/realtime/quotec.json?symbol=SH600926'
    const monit = () => {
        axios.get(url).then((res) => {
            console.log(res)
        })
        .catch((err) => {
            console.log(typeof err);
            console.log(err.code);
            console.log(Object.keys(err)) 
        })
    }
    monit()
    
    3 条回复    2019-02-28 14:24:59 +08:00
    wxsm
        1
    wxsm  
       2019-02-27 16:50:29 +08:00
    headers: {
    'Accept': 'application/json',
    'Accept-Encoding': 'gzip'
    }


    加上两个 header 就好了。
    fazero
        2
    fazero  
    OP
       2019-02-27 17:06:37 +08:00
    @wxsm 可以了,为什么呢,我调其他接口也不用啊 所以现在是用 axios 默认发的请求的 headers 不符合这个接口的后端的请求设置,所以后端返回报错吗
    wxsm
        3
    wxsm  
       2019-02-28 14:24:59 +08:00
    有可能。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2642 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 03:01 · PVG 11:01 · LAX 19:01 · JFK 22:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.