HTTP Клиент Редактировано: 28.08.2020 в 04:51
За более подробной информацией об HTTP Клиенте обращайтесь на страницу HTTP
После того, как авторизация по HTTP клиенту произошла, Вы получаете объект HTTPClient, его описание идет ниже
client.request()
Метод делает подписанный пользовательской сессией запрос на любой внутренний адрес ВКонтакте. С помощью него Вы можете получать любую страницу ВКонтакте такой, как буд-то Вы зашли во ВКонтакте через браузер с выключенным JavaScript. Таким же способом Вы можете получать любую другую информацию, которую не можете получить с помощью официального API ВКонтакте. Делать запросы туда, куда нельзя делать через API.
Аргументы метода
-
file * (<string>)
Файл, к которому надо обратиться. Это может быть любой файл, идущий после доменного имени. Например,
al_im.php
// https://vk.com/al_im.php [POST] client.request('al_im.php').then(console.log)
-
form * (<Object>)
Объект (форма, данные), которые нужно отправить по этому запросу
client.request('al_im.php', { act: 'get_emoji_list', al: 1, sizes: 64, sticker_packs_to_load: '' }).then(console.log)
-
post (<boolean>) true
Нужно ли отправлять запрос по методу
POST
-
isMobile (<boolean>) false
Если Вы выставите это значение как
true
, то запрос отправится на поддомен m.vk.com -
options (<Object>) {}
Опции, которые будут отправлены в функцию
fetch
Метод возвращает объект <Promise>, в resolve
функцию при успешном выполнении запроса вернется ответ сервера.
Выглядеть такой ответ может как угодно, но на момент написания этих строк (01.03.2020) ВКонтакте в основном на все POST запросы отправляет почти JSON
. Почти, потому что это не совсем JSON, в начеле к нему добавляется непонятный префикс <!--
, но Easy VK написан так, что, если не получится получить JSON, то он вернет полный ответ сервера независимо от того, что там пришло
client.request('al_img.php', {
act: "a_get_dialogs",
al: 1,
gid: 0,
im_v: 3,
start_message_id: 0,
tab: "all"
}).then(res => console.log(res.payload))
client.fullRequest()
Является копией метода request
, но вместо JSON, возвращает полный объект response
, который приходит от node-fetch
let response = await client.fullRequest('https://oauth.vk.com/authorize', {
client_id: 6121396, // ID приложения
scope: 215985366, // Полный доступ
response_type: 'token'
})
let token = response.url.match(/access_token=([^&]+)/g)
console.log(await response.text())