gpt4 book ai didi

javascript - 在 NodeJS 中发送 POST 请求时如何设置 Content-Length?

转载 作者:数据小太阳 更新时间:2023-10-29 04:10:55 26 4
gpt4 key购买 nike

var https = require('https');  

var p = '/api/username/FA/AA?ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON&ZOHO_API_KEY=dummy1234&ticket=dummy9876&ZOHO_API_VERSION=1.0';

var https = require('https');
var options = {
host: 'reportsapi.zoho.com',
port: 443,
path: p,
method: 'POST'
};

var req = https.request(options, function(res) {
console.log("statusCode: ", res.statusCode);
console.log("headers: ", res.headers);
res.on('data', function(d) {
process.stdout.write(d);
});
});
req.end();

req.on('error', function(e) {
console.error(e);
});

当我运行上面的代码时,出现以下错误。

错误信息:

statusCode:  411  
headers: { 'content-type': 'text/html',
'content-length': '357',
connection: 'close',
date: 'Thu, 24 Nov 2011 19:58:51 GMT',
server: 'ZGS',
'strict-transport-security': 'max-age=604800' }
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


411 - Length Required

如何修复 abobe 错误?
我试过在下面做

var qs =   'ZOHO_ACTION=EXPORT&ZOHO_OUTPUT_FORMAT=JSON&ZOHO_ERROR_FORMAT=JSON&ZOHO_API_KEY=dummy1234&ticket=dummy9876&ZOHO_API_VERSION=1.0';
'
options.headers = {'Content-Length': qs.length}

但如果我尝试这种方式,我会遇到以下错误:

{ stack: [Getter/Setter],  
arguments: undefined,
type: undefined,
message: 'socket hang up' }

有人可以帮我解决这个问题吗?

谢谢
科蒂

PS:如果我将整个 url 输入浏览器地址栏并按回车键,我将按预期收到 JSON 响应。

最佳答案

事实证明,当您确实想要发出 POST 请求时,给定问题的解决方案显然是将选项对象的“headers”字段设置为包含“Content-长度”字段。

请看这里的代码:

How to make an HTTP POST request in node.js?

关于javascript - 在 NodeJS 中发送 POST 请求时如何设置 Content-Length?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8262410/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com