zoukankan      html  css  js  c++  java
  • nodeJs学习-05 案例:http/fs/querystring/url

    const http = require('http');
    const fs = require('fs');
    const querystring = require('querystring');
    const urlLib = require('url');
    
    var users = {   //模拟用户
    
    };
    
    
    var server = http.createServer(function(req,res){
      res.writeHead(200, {'Content-Type': 'text/html; charset=utf-8'});//只需要设置响应头的编码格式就好,解决中文乱码问题
      

    //解析数据 var str = ''; req.on('data',function(data){ str +=data; }); req.on('end',function(){ var obj = urlLib.parse(req.url,true); console.log(obj); const url = obj.pathname; const GET = obj.query; const POST = querystring.parse(str); //读取文件 // 区分 —— 接口、文件 if(url == '/user'){ //访问接口 switch (GET.act) { case 'reg': //注册 // 1.检查用户名是否有了 // 2.插入users if(users[GET.user]){ res.write('{"ok":false,"msg":"此用户已经存在"}'); }else{ users[GET.user] = GET.pass; res.write('{"ok":true,"msg":"注册成功"}'); } break; case 'login': //登录 // 1.检查用户是否存在 // 2.检查用户密码 if(users[GET.user] == null){ res.write('{"ok":false,"msg":"此用户不存在"}'); }else if(users[GET.user] != GET.pass){ res.write('{"ok":false,"msg":"用户名或密码错误"}'); }else{ res.write('{"ok":true,"msg":"登录成功"}'); } break; default: res.write('{"ok":false,"msg":"未知的act"}'); }; res.end(); }else{ //读取文件 // console.log(url); var file_name = 'section06/www' + url; fs.readFile(file_name,function(err,data){ if(err){ res.write('404'+file_name); }else{ res.write(data); } res.end(); }); } }); }); server.listen(8083);
  • 相关阅读:
    hdu 2485 Destroying the bus stations 迭代加深搜索
    hdu 2487 Ugly Windows 模拟
    hdu 2492 Ping pong 线段树
    hdu 1059 Dividing 多重背包
    hdu 3315 My Brute 费用流,费用最小且代价最小
    第四天 下载网络图片显示
    第三天 单元测试和数据库操作
    第二天 布局文件
    第一天 安卓简介
    Android 获取存储空间
  • 原文地址:https://www.cnblogs.com/LChenglong/p/11586086.html
Copyright © 2011-2022 走看看