request "库。"/>
无法使用带头的 "request "库。
使用Chrome开发工具,我可以看到所有的请求。我想使用脚本复制其中的一个请求。该请求是可以复制的,因为从开发工具中重放它是可行的。我正在使用这段代码。
let request = require("request");
request.put("<hidden>", {
"headers": {
":authority": "<hidden>",
":method": "PUT",
":path": "/api/<hidden>",
":scheme": "https",
"accept": "*/*",
"accept-encoding": "gzip, deflate, br",
"accept-language": "en-US",
"authorization": "<hidden>",
"content-length": "0",
// and more
}
}, (err, response, body) => {
console.log(err);
console.log(response.statusCode);
console.log(body);
});
控制台显示:
TypeError [ERR_INVALID_HTTP_TOKEN]: Header name must be a valid HTTP token [":authority"]
at ClientRequest.setHeader (_http_outgoing.js:487:3)
at new ClientRequest (_http_client.js:221:14)
at Object.request (https.js:309:10)
at Object.request (C:\Users\Admin\AppData\Roaming\npm\node_modules\puppeteer-core\node_modules\agent-base\patch-core.js:25:22)
at Request.start (C:\Users\Admin\AppData\Roaming\npm\node_modules\request\request.js:751:32)
at Request.end (C:\Users\Admin\AppData\Roaming\npm\node_modules\request\request.js:1505:10)
at end (C:\Users\Admin\AppData\Roaming\npm\node_modules\request\request.js:564:14)
at Immediate._onImmediate (C:\Users\Admin\AppData\Roaming\npm\node_modules\request\request.js:578:7)
at processImmediate (internal/timers.js:439:21) {
code: 'ERR_INVALID_HTTP_TOKEN'
}
我试着不使用 .put()
或指定 method
和 body
属性。同样的结果。
用前导冒号显示的头是 "伪头"。 你实际上并没有自己发送它们与 request()
库,因为它们是一种非法的http 1.1头格式。
你可以在这里阅读关于它们的信息。伪冒冒号头的用途.
你应该可以删除所有的伪头,只需确保其中的信息在你的请求中的其他地方(url、method等......)被正确地指定,而这些信息通常已经被指定了。
更多推荐
无法使用带头的 "request "库。
发布评论