learnyounode
Version:
Learn You The Node.js For Much Win! An intro to Node.js via a set of self-guided workshops.
28 lines (17 loc) • 2.51 kB
Markdown
Напишіть програму, яка надсилає HTTP GET запит на URL, який Ви отримаєте в якості першого аргументу командного рядка. Виведіть вміст **кожної** події "data" з відповіді (response) порядково в консоль (stdout).
----------------------------------------------------------------------
## ІНФОРМАЦІЯ
Для рішення цієї задачі Ви маєте використати вбудований модуль `http`.
Документація до модуля `http` Ви можете знайти, перейшовши в браузері сюди:
{rootdir:/docs-nodejs/http.html}
Метод `http.get()` - це спрощений метод для простого GET-запиту, використовуйте його, щоб спростити ваш розв’язок. Першим аргументом в `http.get()` може бути URL на який вам потрібно надіслати запит, другим - функція зворотнього виклику (сallback).
На відміну від інших функцій зворотнього виклику, ця функція має наступну сигнатуру:
```js
function callback (response) { /* ... */ }
```
Тут об’єкт `response` є об’єктом типу **Stream (Потік)**. Ви можете інтерпретувати потоки як об’єкти, які створюють події. Три з них найбільш цікаві: "data", "error" та "end". Ви можете підписатись на події таким чином:
```js
response.on('data', function (data) { /* ... */ })
```
Подія "data" створюється тоді, коли частина даних стає доступною і може бути опрацьованою. Розмір цих частин переважно залежить від джерела данних.
Об’єкт/потік `response`, який Ви можете отримати з `http.get()` також має метод `setEncoding()`. Якщо Ви передасте методу "utf8", то подія "data" буде посилати дані рядкового типу, замість стандартного для Node об’єкту `Buffer`, який Ви змушені постійно конвертувати в рядки.