TEL:400-8793-956
当前位置:程序、服务器

节点基本HTTP请求中的错误-永久移动

提问者: 近期获赞: 浏览人数: 发布时间:2021-03-10 10:43:53

 问:我正在研究node.js基础教程,并使该应用程序正常运行。我今天尝试将其启动,并在http请求上不断收到301错误。

 
我用控制台登录了用户名和url,它们看起来似乎很好,所以我有些困惑。我注意到,当我将URL放入浏览器时,它会重定向到https。我认为这可能是原因,但我不确定100%。还有其他人遇到此错误吗?谢谢 !
 
代码如下:
 
/ * app.js * /
 var profile = require(“ ./ profile”);
var users = process.argv.slice(2);
users.forEach(profile.get);
/*profile.js*/
 var http = require(“ http”);
//打印出消息
函数printMessage(username,badgeCount,points){
     var message =用户名+“具有” + badgeCount +“总徽章以及Java语言中的” + points +“点。”;
    console.log(消息);
}
 //打印出错误
函数printError(error){
     console.error(error.message);
}
 function get(username){
     //连接API URL
     var url =“ http://teamtreehouse.com/” +用户名+“ .json”;
 
    console.log(“ username:”,用户名);
    var request = http.get(URL,function(response){
         var body =“”; //添加到此对象中
        response.on('data',function(chunk){
             body + = chunk; // concatenates
         });
         response.on('end',function(){
             if(response.statusCode === 200){
                 try {
                     //解析数据
                    var profile = JSON.parse(body);
                     //打印数据
                    printMessage(username,profile .badges.length,profile.points.JavaScript)
                 } catch(error){
                     //解析错误
                    printError(错误);
                }
             } else {
                 //状态代码错误
                printError({message:“获取“ +用户名+”的配置文件时出错。(” + http.STATUS_CODES [response.statusCode] +“)”));
            }
         });
    });
    //连接错误器
    request.on(“ error”,printError);
}
 module.exports.get = get;
 
然后我运行类似的东西node app.js chalkers并得到There was an error getting a profile for chalkers. (Moved Permanently)
 
 
答:现在到处都使用https。您需要将require更改为https并将地址更改为https。
 
/*profile.js*/ 
var  http  =  require (“ https” );   //此处
var url = “ https://teamtreehouse.com/” +用户名+ “ .json” ; // 和这里
        
如果还没有的话,应该在课程中将其添加到老师的笔记中:)
上一篇: 更多错误我该如何解决
下一篇: 从id元素中删除边距,填充和项目符号列表的语法是什么?