Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript HTTP GET请求(节点)返回501_Javascript_Node.js_Http - Fatal编程技术网

Javascript HTTP GET请求(节点)返回501

Javascript HTTP GET请求(节点)返回501,javascript,node.js,http,Javascript,Node.js,Http,我正在节点上测试假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)

我正在节点上测试假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>
HTTP错误500.19-内部服务器错误
没有
uri
键,您应该使用
主机名

另外,不要在主机内指定协议,请使用密钥
协议

你的目标应该是:

const options = {
    hostname: 'www.google.com', 
    protocol: 'https:',
}
请记住,要使用https,您需要包含正确的模块:

const https = require('https');
没有
uri
键,您应该使用
hostname

另外,不要在主机内指定协议,请使用密钥
协议

你的目标应该是:

const options = {
    hostname: 'www.google.com', 
    protocol: 'https:',
}
请记住,要使用https,您需要包含正确的模块:

const https = require('https');

nodejs控制台中有错误日志吗?这是我得到的错误,你可以看到我的日志是一个包含所有变量的数组,我也可以在title tag中看到501。nodejs控制台中有错误日志吗?这是我得到的错误,你可以看到我的日志是一个包含所有变量的数组,我也可以在title tag中看到501。谢谢,但我不得不将https改为http,因为它说https不受支持……也许你必须编辑答案,这样我才能验证?@glassraven我已经更新了答案,以展示如何使用htpsit,谢谢,但是我不得不将https改为http,因为它说https不受支持……也许你必须编辑答案,这样我才能验证?@glassraven我已经更新了答案,以展示如何使用https