url模块初始:url是node提供的网址服务的一个模块!使用可以快速进行相对应的模块分析!
实例代码!
//引入模块
const http=require("http");
const url=require("url");
const hostname="127.0.0.1";
const port=3001
//创建
const server=http.createServer(function(req,res){
res.writeHead(200,{"Content-Type":"text/html;charset=UTF8"});
//url.parse()可以将一个完整的URL地址,分为很多部分:
//host、port、pathname、path、query
//url.parse(string)将一个url地址转换为一个对象,返回一个对象
const path=url.parse(req.url);
//.pathname返回一个网站的目录不包含文件
console.log("请求网站页面路径: pathname :"+ path.pathname);
//.host返回一个主机名(域名和端口)
console.log("请求网站主机: host:"+ path.host);
//.hostname返回一个主机名(不包含端口)
console.log("请求网站主机名: hostname :"+ path.hostname);
//.port返回一个主机端口号
console.log("请求网站主机端口号: port :"+ path.port);
//.protocol返回一个http协议
console.log("请求网站主机端口号: control"+ path.protocol);
//.href返回一个完整的url地址
console.log("请求网站页面路径: href :"+ path.href);
//.query查询内容
console.log("请求查询部分 query:" + path.query);
//query的自定义参数查询age
var age=url.parse(req.url,true).query.age;
console.log("自定义 age部分:" + age+ "岁");
res.end("200,success");
})
//监听
server.listen(port,hostname)
url.parse()可以将一个完整的URL地址,分为很多部分,需要传入一个url地址作为参数
注意:如果使用query查询,需要将url.parse(url,true)需要新增一个参数(true)!
下面是一个完整的url模块进行对比使用
┌─────────────────────────────────────────────────────────────────────────────────────────────┐
│ href │
├──────────┬──┬─────────────────────┬─────────────────────┬───────────────────────────┬───────┤
│ protocol │ │ auth │ host │ path │ hash │
│ │ │ ├──────────────┬──────┼──────────┬────────────────┤ │
│ │ │ │ hostname │ port │ pathname │ search │ │
│ │ │ │ │ │ ├─┬──────────────┤ │
│ │ │ │ │ │ │ │ query │ │
|"https: // user : pass @ sub.host.com : 8080 /p/a/t/h ? query=string #hash " │
│ │ │ │ hostname │ port │ │ │ │
│ │ │ │ ├──────────────┴──────┤ │ │ │
│ protocol │ │ username │ password │ host │ │ │ │
├──────────┴──┼──────────┴──────────┼─────────────────────┤ │ │ │
│ origin │ │ origin │ pathname │ search │ hash │
├─────────────┴─────────────────────┴─────────────────────┴──────────┴────────────────┴───────┤
│ href │
└─────────────────────────────────────────────────────────────────────────────────────────────┘