我在Node上测试虚假的HTTP请求。但是我在定义GET,POST方法或“FOO”的标题上得到了相同的结果(501)。我不明白输出。有人能给我一个暗示吗?代码:
var http = require('http');
var fs = require('fs');
var options = {
method: "FOO" //or GET
, uri: 'https://www.google.com'
};
var callback = function(response){
var exportJson= JSON.stringify(response.headers);
var arrayData =[];
response.on('data', function(data) {
arrayData += data;
});
response.on('end', function() {
console.log('THE DATA IS ' + arrayData);
});
fs.appendFile("input.txt", exportJson, function(err) {
if(err) {
return console.log(err);
}
});
}
var req = http.request(options, callback);
function test(){
for (var prop in options.method) {
//console.log(`options.method${prop} = ${options.method[prop]}`);
//console.log(req);
req;
}
}
test();
req.end();
控制台说:“GET”或“FOO”方法:
<h2>HTTP ERROR 500.19 - Internal Server Error</h2>
答案 0 :(得分:2)
options object没有uri
密钥,您应该使用hostname
。
此外,请勿在主机内指定协议,请使用密钥protocol
。
你的对象应该是:
const options = {
hostname: 'www.google.com',
protocol: 'https:',
}
请记住,要使用https,您需要包含正确的模块:
const https = require('https');