-
- 在实际开发中,我们经常需要获取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');
-
- 一般我们实际中,我们需要获取请求的参数,但是通过刚才的方式获取出来的参数是一个字符串
-
我们如果想要获取对应的值,我们需要截取字符串
-
因为参数的长度一般我们无法确定长度,所以如果使用字符截取是比较困难
-
我们可以让获取出出来的参数是一个字典,那么就可以通过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');
- 默认情况下,有一个图标请求,我们不需要。所以如果发现对应的请求是favicon.ico我们就停止程序
if(req.url =='/favicon.ico'){
return;
}
网友评论