2012-11-15 29 views

回答

0

爲的NodeJS:

您可以使用自帶的節點https的模塊:https://nodejs.org/api/https.html#https_https_request_options_callback

我這個對我的節點掙扎.js服務器,但找到了一個解決方案。我試圖做的,沒有運氣的HTTP請求(不斷收到不支持的瀏覽器的問題),但是當我試圖用捲曲做到這一點,它的工作就好了。

所以我決定在我爲我的NodeJS請求頭傳遞User-Agent的,因爲我得到的是不支持的瀏覽器問題:

var https = require("https"); 

var options = { 
     hostname: 'www.facebook.com', 
     port: 443, 
     path: '/feeds/api_status.php', 
     method: 'GET', 
     headers: { 
     "User-Agent": 'curl/7.43.0' 
     } 
}; 

var req = https.request(options, function(res) { 
     res.on('data', function(d) { 
     process.stdout.write(d); 
     }); 
}); 

req.end(); 

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

的api_status然後在控制檯打印出像這樣:

{ 
    "current": { 
     "health": 1, 
     "subject": "Facebook Platform is Healthy" 
    }, 
    "push": { 
     "status": "Complete", 
     "updated": "2016-01-27T16:05:12-08:00", 
     "id": 61183893 
    } 
} 

你可以做你需要做什麼用。例如,如果你想用它來看看Facebook的API是健康的,你可以做到以下幾點:

var facebookIsHealthy; 

var req = https.request(options, function(res) { 
    res.on('data', function(d) { 
     // d is a buffer object 

     var bufferString = d.toString(); 
     var bufferObject = JSON.parse(bufferString); 

     if(bufferObject.current.health === 1) { 
      facebookIsHealthy = true; 
     } 

     else { 
      facebookIsHealthy = false; 
     } 
    }); 
}); 

希望這有助於!