zoukankan      html  css  js  c++  java
  • url模块、path模块、querystring模块

    一个URL比较完整,包括querystring部分(就是GET请求查询字符串部分)、hash部分

    http://127.0.0.1:3000/b.html?id=123#123

    此时req.url是:

    也就是说,querystring属于req.url,但hash不属于。

    此时我们想得到文件名的部分

    此时Node 中提供了内置模块:url 、path、querystring他们都可以服务于URL识别

    var http = require("http");
    var fs = require("fs");
    var url = require("url");
    
    http.createServer((req,res)=>{
        //转为对象
        var urljson = url.parse(req.url);
        console.log(urljson);
        res.end("");
    }).listen(3000,"127.0.0.1");

    网址是:

    http://127.0.0.1:3000/haha/1.html?id=123&name=小明&sex=#abc

    此时输出的对象是:

    如果加上url.parse(req.url,true),此时querystring部分将会自动变为一个对象,方便我们存入到数据库什么的。

    另外两个模块:path 、querystring 他们都是服务于url的

    var http = require("http");
    var fs = require("fs");
    var url = require("url");
    var path = require("path");
    var querystring = require("querystring");
    
    
    http.createServer((req,res)=>{
        //转为对象,将URL字符串变为JSON对象。
        var urljson = url.parse(req.url);
        //得到文件路径
        var pathname = urljson.pathname;
        //得到拓展名
        var extname = path.extname(pathname);
        //得到查询字符串
        var qs = urljson.query;
        //转为查询对象,和url.parse加上true非常类似
        var qsjson = querystring.parse(qs);
    
        console.log(pathname);
        console.log(extname);
        console.log(qsjson);
    
        res.end("");
    }).listen(3000,"127.0.0.1");
  • 相关阅读:
    XP系统开机慢和减少开机滚动条的解决方法
    细说A标签的样式
    【部分转载】安装MySQL,visual studio tools for office 2010 runtime通不过
    将GB2312转码成UTF8
    ubuntu/vmware 拷贝后网路不通
    bash manual
    跟我一起写 Makefile
    我的vi 启动配置文件
    ubuntu安装samba
    upnp
  • 原文地址:https://www.cnblogs.com/kun666/p/9490840.html
Copyright © 2011-2022 走看看