1.1.8 • Published 1 year ago

x.web.request.11 v1.1.8

Weekly downloads
-
License
GPL-3.0-or-later
Repository
-
Last release
1 year ago

install

Запрашивать данные из веб-мест можно процедурами модуля веб-запросов x.web.request.11. Модуль x.web.request.11 работает вместе с модулем x.web.cookie.11

npm install x.web.cookie.11
npm install x.web.request.11

request

Для запросов к веб-местам вы можете использовать приведенный далее союз процедур:

let request = require('x.web.request.11').request;

new request({
	host: 'yandex.ru',
	port: 443,
	method: 'HEAD',
	path: '/'
}).https((err,data,response,option)=>{
	if(err) {console.error(err)}
	console.log(response.statusCode, response.headers);
});

textDecode

Когда содержание тела ответа закодировано, а в заголовках ответа содержится название кодировки, например text/html; charset iso-8859-1, тогда можно декодировать "тело" методом, который будет применен при добавлении директивы textDecode в опции запроса

let request = require('x.web.request.11').request;

new request({
	host: 'www.webmoney.ru',
	port: 443,
	method: 'GET',
	path: '/',
	textDecode: true,
}).https((err,data,response,option)=>{
	if(err) {console.error(err)}
	console.log(response.statusCode, response.headers);
});

В этом случаи тело документа будет получено в кодировке binary и декодировано в соответствующую, полученную с ответом, кодировку ответа.

binary

Для "скачивания" бинарных данных следует указать кодировку binary в опции запроса.

let fs = require('fs');
let request = require('x.web.request.11').request;

new request({
	host:vk.com,
	port:443,
	path:'/favicon.ico',
	encoding: 'binary'
}).https((err,data,response,option)=>{
	if(err) throw err;
    fs.writeFileSync('./favicon.ico, data.toString(), {encoding:'binary'});
});

По завершению ответа можно будет бинарные данные ответа записать в отдельный файл.

post

Вы можете передать данные в любое веб-место в теле запроса к нему.

request({
	host: 'www.kaspersky.ru',
	port: 443,
	method: 'POST',
	path: '/',
    headers: {
	    'Content-Type': 'application/json; charset=utf-8'
	},
	data:'{"important": "data"}'
},(err,data,response,option)=>{
	if(err) {console.error(err)}
	console.log(response.statusCode, response.headers);	
});

timeout

Ограничивать время ожидания ответа веб-места, в миллисекундах, можно директивой timeout, внутри объекта опций запроса.

let request = require('x.web.request.11').request;

new request({
	host: 'mail.ru',
    path: '/',
	timeout: 10000
}).https((err,data,response,option)=>{
	if(err) {console.error(err)}
	console.log(response.statusCode, response.headers);
});

По истечению ограничительных миллисекунд ожидание ответа веб-места будет прервано с подходящим для обработки объектом ошибки err.

cookie

Модуль x.web.request.11 разграничивает файлы "cookies" по умолчанию в директорию ./cookie и в поддиректории с именем пользователя default. Вы можете менять имя пользователя, и директорию хранения его файлов "cookies" с помощью директивы опций setting, переданной с запросом.

let request = require('x.web.request.11').request;

new request({
	host: 'www.kinopoisk.ru',
    path: '/',
	setting: {
    	username: 'user348392',
    	directory: './cookie'
    }
}).https((err,data,response,option)=>{
	if(err) {console.error(err)}
	console.log(response.statusCode, response.headers);
});

кто слушал - молодец.

1.1.8

1 year ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago