解决请求报错 Parse Error: Invalid header token

3,214 阅读1分钟

解决请求报错 Parse Error: Invalid header token

1. 第一步:postman 报错

今天使用postman调用接口(后端服务我掌控不了),遇到问题【Parse Error: Invalid header token】,如下:

image.png

2. 第二步:nodejs 报错

于是我把请求搬到nodejs,但是同样报错

const request = require('request')
const options = {
  method: 'get',
  url: 'https://ibot.bzlrobot.com/app/areaBooking/queryAreaBookingByID/a23dbdf612f54f4aaa78c763cb7db4fa',
  headers: {
    Authorization:
      'Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI2MDUzOTc4M0JPTVNNYW5hZ2UiLCJleHAiOjE2NDA5MTAwMTh9.4pSZGTibh1ZweaxG8hFX_Z6Zv1DZTdEO-GaWJFrVIJWMJO7QiSjdX6hTdcjpPD7_aKI_IFsAcw7vf8ZDDKpCAQ',
  },
  json: true,
}

request(options, (err, res) => {
  console.log(err, res)
})

image.png

3. 查资料解决

查找资料,看到有解决方法:stackoverflow.com/questions/3…

于是增加了一行代码(就是上图中第一行注释掉的代码,放开即可):

process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser

重新运行,ok,拿到数据了!

image.png

4. 总结

  • 1) pnpm i http-parser-js
  • 2) 代码开始处增加 process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser
  • 3) 继续 requst 请求即可

nodejs 我搞定了,但是 postman 我不知道怎么处理~~