Javascript 尝试使用express js路由解析API响应时,HPE_无效的_头_令牌
我试图从Postman调用一个API,该API会立即给出响应,但当我尝试使用Nodejs express routes执行相同操作时,我遇到了下面提到的错误,下面是我的代码:Javascript 尝试使用express js路由解析API响应时,HPE_无效的_头_令牌,javascript,node.js,api,express,parsing,Javascript,Node.js,Api,Express,Parsing,我试图从Postman调用一个API,该API会立即给出响应,但当我尝试使用Nodejs express routes执行相同操作时,我遇到了下面提到的错误,下面是我的代码: var express = require('express'); var router = express.Router(); process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser; var request = r
var express = require('express');
var router = express.Router();
process.binding('http_parser').HTTPParser = require('http-parser-js').HTTPParser;
var request = require("request");
var options = { method: 'GET',
url: 'https://test.dev.api.google.io/api/isc/fhir/stu3/Observation',
qs:
{ _format: 'json',
patient: '434343',
code: '432222',
date: 'gt2019-06-11' },
headers:
{ 'cache-control': 'no-cache',
Connection: 'keep-alive',
contentType: 'application/json',
'accept-encoding': 'gzip, deflate',
cookie: 'visid_incap_1839367=ajslkjaljfaljfa/jfalskjalf;incap_ses_1172_1839367=saljfalsjlakjfssalkjfalkjal==; incap_ses_148_1839367=saljlajflakjfkaljfal+ajslajlsfsajlakjalfjalj==; incap_ses_703_1839367=alsjlajslfkajlsakj/sjlasjlajfsa+m5p+vFgBJO0w==; incap_ses_702_1839367=jlajslfjaljfa+jalskjla/PpBN7BSv7mFcjhQ8pw==',
Host: 'call.dev.api.google.io',
'Postman-Token': '84kdidfjsaflasjflakjfalfa',
'Cache-Control': 'no-cache',
Accept: '*/*',
'User-Agent': 'PostmanRuntime/7.13.0',
'x-google-version': '1.0',
'Ocp-Apim-Subscription-Key': 'sflaalkjflakjfsla' } };
/* GET users listing. */
router.get('/', function(req, res, next) {
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
res.send("receigsdgsgved...");
});
module.exports = router;
**this is the error:**
**error = Error: Parse Error
at TLSSocket.socketOnData (_http_client.js:460:22)
at TLSSocket.emit (events.js:200:13)
at addChunk (_stream_readable.js:290:12)
at readableAddChunk (_stream_readable.js:271:11)
at TLSSocket.Readable.push (_stream_readable.js:226:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:166:17) {bytesParsed: 911,
code: "HPE_INVALID_HEADER_TOKEN",
reason: "Invalid header value char",
stack: "Error: Parse Error\n at TLSSocket.socketOnData (…reamRead (internal/stream_base_commons.js:166:17)",
message: "Parse Error"}
bytesParsed = 911
code = "HPE_INVALID_HEADER_TOKEN"
message = "Parse Error"
reason = "Invalid header value char"
stack = "Error: Parse Error\n at TLSSocket.socketOnData (_http_client.js:460:22)\n at TLSSocket.emit (events.js:200:13)\n at addChunk (_stream_readable.js:290:12)\n at readableAddChunk (_stream_readable.js:271:11)\n at TLSSocket.Readable.push (_stream_readable.js:226:10)\n at TLSWrap.onStreamRead (internal/stream_base_commons.js:166:17)"**
我不确定哪里出了问题,非常感谢您的帮助。您正在尝试在此处执行多行字符串:
cookie: 'visid_incap_1839367=ajslkjaljfaljfa/jfalskjalf;
incap_ses_1172_1839367=saljfalsjlakjfssalkjfalkjal==; incap_ses_148_1839367=saljlajflakjfkaljfal+ajslajlsfsajlakjalfjalj==; incap_ses_703_1839367=alsjlajslfkajlsakj/sjlasjlajfsa+m5p+vFgBJO0w==; incap_ses_702_1839367=jlajslfjaljfa+jalskjla/PpBN7BSv7mFcjhQ8pw==',
这需要一行:
cookie: 'visid_incap_1839367=ajslkjaljfaljfa/jfalskjalf; incap_ses_1172_1839367=saljfalsjlakjfssalkjfalkjal==; incap_ses_148_1839367=saljlajflakjfkaljfal+ajslajlsfsajlakjalfjalj==; incap_ses_703_1839367=alsjlajslfkajlsakj/sjlasjlajfsa+m5p+vFgBJO0w==; incap_ses_702_1839367=jlajslfjaljfa+jalskjla/PpBN7BSv7mFcjhQ8pw==',
您好,内特,非常感谢您的回复。当我尝试复制粘贴代码时,这是一个错误,但我的Webstorm将所有内容都放在一行中,但我得到了“HPE\u无效\u头\u标记”错误。@KrisRaduhaSt您找到了吗?面对同样的问题,有什么帮助吗