x.web.request.11

1.1.8 • Public • Published

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);
});

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

Package Sidebar

Install

npm i x.web.request.11

Weekly Downloads

2

Version

1.1.8

License

GPL-3.0-or-later

Unpacked Size

63.3 kB

Total Files

6

Last publish

Collaborators

  • x.11