问:我似乎可以在代码中找到错误。已经确定网址正确,因为这通常就是我收到此错误的原因。
profile.js
//问题:需要一种简单的方法来查看用户徽章计数和JS点
//解决方案:使用node.js连接到TH API以获取配置文件信息以打印出
var http = require (“ http” ); //打印出消息 函数printMessage (username ,badgeCount ,points ){ var message = username + “具有” + badgeCount + “总徽章以及Java语言中的” + points + “点。; 控制台。日志(
讯息);
};
//打印出错误消息功能printError (error ){ console 。错误(错误。消息); }; 函数get (用户名){ //连接到API URL(http://teamtreehouse.com/USERNAME.json)var request = http 。get (“ http://teamtreehouse.com/” +用户名+ “ .json” ,函数(响应){ var body =
“” ;
//读取数据响应。on ('data' ,function (chunk ){ body + = chunk ; }); 反应。上('结束' ,函数(){如果(响应。的StatusCode === 200 ){尝试{ //解析数据VAR轮廓= JSON 。解析(体); //打印数据printMessage (
用户名, 个人资料。徽章。长度, 轮廓。点。JavaScript );
} catch (error ){ //在这里解析错误printError (error ); } }否则{ //状态代码错误printError ({消息:“发生错误获取简档为” +用户名+ “(” + HTTP 。STATUS_CODES [响应。
statusCode ] + “)” });
} }); }); //连接错误请求。on (“ error” ,printError ); }模块。出口。得到=得到;
app.js
var profile = require (“ ./profile.js” );
个人资料。得到(“ johnrenzema” );
感谢您的帮助。
答:FIX:node.js对https请求有一个单独的类,其行为实际上与http请求的类相同。
将profile.js顶部的行添加到另一个行中:
var https = require (“ https” );
然后将发出请求的行更改为:
var request = https 。get (“ https://teamtreehouse.com/” + 用户名 + “ .json” , 函数(响应) {