2017-05-16 26 views
0

私はNode上で偽のHTTPリクエストをテストしています。しかし、私はGET、POSTメソッド、または "FOO"を定義するヘッダーで同じ結果(501)を取得します。私は出力を理解していません。誰かが私にヒントを与えることができますか?コード:HTTP GETリクエスト(ノード)が返される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

エラーログ:

const options = { hostname: 'www.google.com', protocol: 'https:', } 

は、それはあなたが右のモジュールを含める必要がHTTPSを使用するように覚えていますか? – Dash

+0

これは私が得るエラーです。私のログはすべての変数を持つ配列であり、この501もタイトルタグにも表示されています – glassraven

答えて

2

options objectは何uriキーを持っていない、あなたはhostnameを使用する必要があります。

また、ホスト内でプロトコルを指定しないで、というキーを使用します。

あなたのオブジェクトは、次のようになります。nodejsコンソールで

const https = require('https'); 
+0

それはうまくいきますが、感謝します。 httpsがサポートされていませんでした...私は検証できるように答えを編集する必要がありますか? – glassraven

+0

@glassraven htpsを使用する方法を示す回答を更新しました – rpadovani

+0

大丈夫、ありがとう:) – glassraven

関連する問題