URL -модуль
Использование модуля URL чрезвычайно высокое при обработке HTTP -запросов, потому что модуль позволяет анализировать URL -адреса, генерируя URL -адреса и сплайсинговые URL -адреса. Во -первых, давайте посмотрим на компоненты полного URL.
Кода -копия выглядит следующим образом:
href
----------------------------------------------------------------------------------------------------------------------------
Путь хозяина
----------------------------------------------------------------------------------------------------------------------------
http: // user: pass @ host.com: 8080/p/a/t/h? Query = String #hash
----------------------------------------------------------------------------------------------------------------------------
Протокол АВТОР
------------
запрос
Мы можем использовать метод .parse для преобразования строки URL в объект URL, как показано ниже.
Кода -копия выглядит следующим образом:
url.parse ('http: // user: [email protected]: 8080/p/a/t/h? Query = String#hash');
/* =>
{Протокол: 'http:',
auth: 'user: pass',
Хост: 'host.com:8080',
Порт: '8080',
hostname: 'host.com',
хэш: '#hash',
Поиск: '? Query = String',
запрос: 'Query = String',
pathname: '/p/a/t/h',
Путь: '/p/a/t/h? Query = String',
href: 'http: // user: [email protected]: 8080/p/a/t/h? Query = String#hash'}
*/
Метод .parse не обязательно является полным URL. Например, в функции обратного вызова HTTP -сервера запрос.
Кода -копия выглядит следующим образом:
http.createserver (function (запрос, ответ) {
var tmp = request.url; // => "/foo/bar? a = b"
url.parse (tmp);
/* =>
{Протокол: NULL,
Слош: NULL,
auth: null,
Ведущий: NULL,
Порт: NULL,
имя хоста: null,
хэш: null,
Поиск: '? A = B',
запрос: 'a = b',
pathname: '/foo/bar',
Путь: '/foo/bar? a = b',
href: '/foo/bar? a = b'}
*/
}). Слушай (80);
Метод .parse также поддерживает второй и третий логический тип, необязательные параметры. Когда второй параметр равен TRUE, поле запроса в объекте URL, возвращаемое методом, больше не является строкой, а объектом параметра, преобразованным модулем QueryString. Когда третий параметр равен истину, этот метод может правильно разобрать URL -адреса без заголовков протокола, таких как //www.example.com/foo/bar.
Метод формата, в свою очередь, позволяет преобразовать объект URL в строку URL, как показано ниже.
Кода -копия выглядит следующим образом:
url.format ({
Протокол: 'http:',
Хост: 'www.example.com',
pathname: '/p/a/t/h',
Поиск: 'Query = String'
});
/* =>
'http://www.example.com/p/a/t/h?query=string'
*/
Кроме того, метод .resolve может использоваться для сплайсинга URL -адресов, как показано ниже.
Кода -копия выглядит следующим образом:
url.resolve ('http://www.example.com/foo/bar', '../baz');
/* =>
http://www.example.com/baz
*/
Строка запроса
Модуль Querystring используется для преобразования строк параметров URL и объектов параметров, как показано ниже.
Кода -копия выглядит следующим образом:
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 ='
*/