亚洲免费乱码视频,日韩 欧美 国产 动漫 一区,97在线观看免费视频播国产,中文字幕亚洲图片

      1. <legend id="ppnor"></legend>

      2. 
        
        <sup id="ppnor"><input id="ppnor"></input></sup>
        <s id="ppnor"></s>

        nodejs URL模塊操作URL相關(guān)方法介紹

        字號(hào):


            這篇文章主要介紹了nodejs URL模塊操作URL相關(guān)方法介紹,本文講解了parse方法、format方法、querystring方法等,需要的朋友可以參考下
            url模塊
            處理HTTP請(qǐng)求時(shí)url模塊使用率超高,因?yàn)樵撃K允許解析URL、生成URL,以及拼接URL。首先我們來(lái)看看一個(gè)完整的URL的各組成部分。
            代碼如下:
            href
            -----------------------------------------------------------------
            host path
            --------------- ----------------------------
            http: // user:pass @ host.com : 8080 /p/a/t/h ?query=string #hash
            ----- --------- -------- ---- -------- ------------- -----
            protocol auth hostname port pathname search hash
            ------------
            query
            我們可以使用.parse方法來(lái)將一個(gè)URL字符串轉(zhuǎn)換為URL對(duì)象,示例如下。
            代碼如下:
            url.parse('http://user:pass@host.com:8080/p/a/t/h?query=string#hash');
            /* =>
            { protocol: 'http:',
            auth: 'user:pass',
            host: 'host.com:8080',
            port: '8080',
            hostname: 'host.com',
            hash: '#hash',
            search: '?query=string',
            query: 'query=string',
            pathname: '/p/a/t/h',
            path: '/p/a/t/h?query=string',
            href: 'http://user:pass@host.com:8080/p/a/t/h?query=string#hash' }
            */
            傳給.parse方法的不一定要是一個(gè)完整的URL,例如在HTTP服務(wù)器回調(diào)函數(shù)中,request.url不包含協(xié)議頭和域名,但同樣可以用.parse方法解析。
            代碼如下:
            http.createServer(function (request, response) {
            var tmp = request.url; // => "/foo/bar?a=b"
            url.parse(tmp);
            /* =>
            { protocol: null,
            slashes: null,
            auth: null,
            host: null,
            port: null,
            hostname: null,
            hash: null,
            search: '?a=b',
            query: 'a=b',
            pathname: '/foo/bar',
            path: '/foo/bar?a=b',
            href: '/foo/bar?a=b' }
            */
            }).listen(80);
            .parse方法還支持第二個(gè)和第三個(gè)布爾類(lèi)型可選參數(shù)。第二個(gè)參數(shù)等于true時(shí),該方法返回的URL對(duì)象中,query字段不再是一個(gè)字符串,而是一個(gè)經(jīng)過(guò)querystring模塊轉(zhuǎn)換后的參數(shù)對(duì)象。第三個(gè)參數(shù)等于true時(shí),該方法可以正確解析不帶協(xié)議頭的URL,例如//www.example.com/foo/bar。
            反過(guò)來(lái),format方法允許將一個(gè)URL對(duì)象轉(zhuǎn)換為URL字符串,示例如下。
            代碼如下:
            url.format({
            protocol: 'http:',
            host: 'www.example.com',
            pathname: '/p/a/t/h',
            search: 'query=string'
            });
            /* =>
            'http://www.example.com/p/a/t/h?query=string'
            */
            另外,.resolve方法可以用于拼接URL,示例如下。
            代碼如下:
            url.resolve('http://www.example.com/foo/bar', '../baz');
            /* =>
            */
            Query String
            querystring模塊用于實(shí)現(xiàn)URL參數(shù)字符串與參數(shù)對(duì)象的互相轉(zhuǎn)換,示例如下。
            代碼如下:
            querystring.parse('foo=bar&baz=qux&baz=quux&corge');
            /* =>
            { foo: 'bar', baz: ['qux', 'quux'], corge: '' }
            */
            querystring.stringify({ foo: 'bar', baz: ['qux', 'quux'], corge: '' });
            /* =>
            'foo=bar&baz=qux&baz=quux&corge='
            */