標籤:require ash protocol 布爾 parse 設定 course 方法 name
1. url.parse(網址): 將字串 解析成對象.
1-1) 一個參數 : 或者 參數1, false(預設), false(預設)
var url = require(‘url‘);console.log(url.parse("http://www.baidu.com:8080/list?c=Cate&a=index#main"));console.log(url.parse("https://user:[email protected]:8080/p/a/t/h?query=string#hash"));console.log(url.parse("http://127.0.0.1/culture/action.php?c=HCourseProxy&a=displaySuccess&courseId=4"));
運行:
--------------------------------------------------
1-2) 兩個參數 或者 是 參數1, true, false(預設)
如果第二個參數設定為 true. 那麼 query屬性 就會調用 querystring模組的 方法 ,產生一個對象.
1 var url = require(‘url‘);2 3 console.log(url.parse("http://www.baidu.com:8080/list?c=Cate&a=index#main", true));4 console.log(url.parse("https://user:[email protected]:8080/p/a/t/h?query=string#hash", true));5 console.log(url.parse("http://127.0.0.1/culture/action.php?c=HCourseProxy&a=displaySuccess&courseId=4", true));
運行:
1-3) 三個參數: 參數1 , 參數2(布爾值), true
對於 不知道是什麼協議的時候, 如果想解析//www.baidu.com:8080/list?c=Cate&a=index#main 這種 , 就可以將第 三個參數設定為 true.
1 var url = require(‘url‘);2 3 console.log(url.parse("//www.baidu.com:8080/list?c=Cate&a=index#main"));4 console.log(url.parse("//www.baidu.com:8080/list?c=Cate&a=index#main", false, true));5 6 console.log(url.parse("//baidu.com:8080/list?c=Cate&a=index#main"));7 console.log(url.parse("//baidu.com:8080/list?c=Cate&a=index#main", false, true));
2. url.format(對象) 將對象 轉成 字串
var url = require(‘url‘);console.log(url.format({ protocol: ‘https:‘, slashes: true, auth: ‘user:pass‘, host: ‘sub.host.com:8080‘, port: ‘8080‘, hostname: ‘sub.host.com‘, hash: ‘#hash‘, search: ‘?query=string‘, query: ‘query=string‘, pathname: ‘/p/a/t/h‘, path: ‘/p/a/t/h?query=string‘, href: ‘https://user:[email protected]:8080/p/a/t/h?query=string#hash‘ }));
運行:
3. url.resolve()
1 var url = require(‘url‘); 2 3 console.log(url.resolve("http://www.runoob.com/", "nodejs/nodejs-path-module.html")); 4 console.log(url.resolve("http://www.runoob.com/", "/nodejs/nodejs-path-module.html")); 5 6 console.log(url.resolve("http://www.runoob.com/list/", "nodejs/nodejs-path-module.html")); 7 console.log(url.resolve("http://www.runoob.com/list/", "/nodejs/nodejs-path-module.html")); 8 console.log(url.resolve("http://www.runoob.com/list", "/nodejs/nodejs-path-module.html")); 9 10 console.log(url.resolve("http://www.runoob.com/list/cate/", "../nodejs-path-module.html"));11 console.log(url.resolve("http://www.runoob.com/list/cate", "../nodejs-path-module.html"));
運行:
可見:
1)當 第一個參數只是 網域名稱的時候, 第二個參數總是追加在 第一個參數的後面 , 參見 代碼 3 ,代碼 4
2)當第一個參數 不只是網域名稱,還有path 的時候, 第一個參數末尾是否帶有 / , 以及 第二個參數開始是否有/ .都 會對產生的 url地址產生影響.
運行:
--------------
NodeJs -- URL 模組.