NodeJs -- URL 模組.

來源:互聯網
上載者:User

標籤: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 模組.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.