美文网首页
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