美文网首页
06 - url包

06 - url包

作者: 小草莓蹦蹦跳 | 来源:发表于2017-10-21 15:32 被阅读0次
      1. 在实际开发中,我们经常需要获取url请求的各个部分
      • 例如:hostname port pathname query,所以我们需要借助对应的 url包

      • 当我们需要让对应的url获取各个部分的时候,我们需要解析url,通过parse方法,能够将url拆分成为很多部分。

      • 解析完成后返回一个结果,是一个字典,这个结果中包含了url的各个部分


    • 案例一:使用url获取请求的各个部分
      • 先导入url包

      • 再将获取到的地址进行解析
        var results = url.parse(req.url);

      • 通过results(解析后返回的字典)获取到需要的部分

    var http = require('http');
    var url = require('url');
    
    var server = http.createServer(function (req, res) {
    
        /*在实际开发中,我们经常需要获取url请求的各个部分
         * 例如:hostname port pathname query
         * 所以我们需要借助对应的url包*/
        /*1.当我们需要让对应的url获取各个部分的时候,我们需要解析url,通过parse方法
         * 解析完成后返回一个结果,是一个字典,这个结果中包含了url的各个部分*/
    
        var results = url.parse(req.url);
        var hostName = results.hostname;
        var port = results.port;
        var pathName = results.pathname;
        var querys = results.query;
        console.log('hostname:'+hostName);
        console.log('port:'+port);
        console.log('pathname:'+pathName);
        console.log('query:'+querys);
    
        /*一般一次请求一定要有end方法返回
         * end方法可以不传递参数*/
        res.end();
    });
    server.listen(3000,'127.0.0.1');
    
      1. 一般我们实际中,我们需要获取请求的参数,但是通过刚才的方式获取出来的参数是一个字符串
      • 我们如果想要获取对应的值,我们需要截取字符串

      • 因为参数的长度一般我们无法确定长度,所以如果使用字符截取是比较困难

      • 我们可以让获取出出来的参数是一个字典,那么就可以通过key值获取对应的value值

      • 我们可以在解析对应的url地址的时候,加一个参数,这个参数是true
        var results = url.parse(req.url,true);


    案例二:有规则的获取请求的参数,让对应的请求的参数转化成一个对象。
    { uesername: 'wmx', age: '12' }

    var http = require('http');
    var url = require('url');
    var server = http.createServer(function (req, res) {
    
        /* 默认情况下,有一个图标请求,我们不需要
         * 所以如果发现对应对应的请求是favicon.ico我们就停止程序*/
        
        if(req.url == '/favicon.ico'){
            return;
        }
    
        var results = url.parse(req.url,true);
    
        /*一般我们实际中,我们需要获取请求的参数,但是通过刚才的方式获取出来的参数是一个字符串
         * 我们如果想要获取对应的值,我们需要截取字符串,
         * 因为参数的长度一般我们无法确定长度,所以如果使用字符截取是比较困难
         * 我们可以让获取出出来的参数是一个字典,那么就可以通过key值获取对应的value值
         * 我们可以在解析对应的url地址的时候,加一个参数,这个参数是true
         */
    
        var querys = results.query;
        console.log(querys);
    
        /*一般一次请求一定要有end方法返回
         * end方法可以不传递参数*/
        res.end();
    });
    server.listen(3000,'127.0.0.1');
    
      1. 默认情况下,有一个图标请求,我们不需要。所以如果发现对应的请求是favicon.ico我们就停止程序
        if(req.url =='/favicon.ico'){
            return;
        }
    

    相关文章

      网友评论

          本文标题:06 - url包

          本文链接:https://www.haomeiwen.com/subject/oumiuxtx.html