forked from workshopper/learnyounode
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
HTTP CLIENT has been translated to Ukrainian.
- Loading branch information
1 parent
b4afc10
commit 128c3d6
Showing
1 changed file
with
29 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
Напишіть програму, яка надсилає HTTP GET запит на URL, який Ви отримаєте в якості першого аргументу командного рядка. Виведіть вміст **кожної** події "data" з відповіді (response) порядково в консоль (stdout). | ||
|
||
---------------------------------------------------------------------- | ||
## ІНФОРМАЦІЯ | ||
|
||
Для рішення цієї задачі Ви маєте використати вбудований модуль `http` модуль. | ||
|
||
Документація до модуля `http` ви можете знайти перейшовши в браузері сюди: | ||
{rootdir:/node_apidoc/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`, який ви маєте постійно конвертувати в рядки. | ||
|
||
---------------------------------------------------------------------- |