fazero
V2EX  ›  Node.js

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

  •  
  •   fazero · Feb 27, 2019 · 4646 views
    This topic created in 2709 days ago, the information mentioned may be changed or developed.

    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 replies    2019-02-28 14:24:59 +08:00
    wxsm
        1
    wxsm  
       Feb 27, 2019
    headers: {
    'Accept': 'application/json',
    'Accept-Encoding': 'gzip'
    }


    加上两个 header 就好了。
    fazero
        2
    fazero  
    OP
       Feb 27, 2019
    @wxsm 可以了,为什么呢,我调其他接口也不用啊 所以现在是用 axios 默认发的请求的 headers 不符合这个接口的后端的请求设置,所以后端返回报错吗
    wxsm
        3
    wxsm  
       Feb 28, 2019
    有可能。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5362 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 08:00 · PVG 16:00 · LAX 01:00 · JFK 04:00
    ♥ Do have faith in what you're doing.