2014-03-14 56 views
0

我可以高兴地在CURL或浏览器下面获得以下URL,但是当我尝试使用节点时,我收到ECONNREFUSED错误。Curl确实工作,https.request()不,在特定的网址?

试试这个代码...

var request = require('request') 

var url = "https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.2365-6/851565_602269956474188_918638970_n.png" 

var r = request({url:url}, function callback(error, response, body) { 
    console.log("Error:", error) 
    console.dir(r.headers) 
}) 

回答

0

我觉得你的代码工作。我已经更改了代码以在一些URL上测试,并且日志显示请求没问题。

所以,我认为你可以粘贴详细的错误日志进行更深入的分析!

这是我的测试代码:

var request = require('request') 

var urls = ["https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.2365-6/851565_602269956474188_918638970_n.png", 
      "https://www.google.com", 
      "http://nodejs.org/"] 

urls.forEach(function(url){ 
    request({url:url}, function callback(error, response) { 
    console.log("Response for "+url); 
    if(error){ 
     console.error(error); 
    }else{ 
     console.log("statusCode: "+response.statusCode); 
     console.log("body.length: ", response.body.length + " bytes \n"); 
    } 
    }) 
}) 

控制台日志:

Response for https://www.google.com 
statusCode: 200 
body.length: 44898 bytes 

Response for http://nodejs.org/ 
statusCode: 200 
body.length: 6318 bytes 

Response for https://fbcdn-dragon-a.akamaihd.net/hphotos-ak-ash3/t39.2365-6/851565_602269956474188_918638970_n.png 
statusCode: 200 
body.length: 722 bytes