Calcweb.ru

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚Π°Π»
2 просмотров
Π Π΅ΠΉΡ‚ΠΈΠ½Π³ ΡΡ‚Π°Ρ‚ΡŒΠΈ
1 Π·Π²Π΅Π·Π΄Π°2 Π·Π²Π΅Π·Π΄Ρ‹3 Π·Π²Π΅Π·Π΄Ρ‹4 Π·Π²Π΅Π·Π΄Ρ‹5 Π·Π²Π΅Π·Π΄
Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ°...

ΠšΠΎΠ½ΡΠΎΠ»ΡŒΠ½Ρ‹Π΅ Linux-ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ Tar ΠΈ Curl Π² Windows 10 ΠΈ для Ρ‡Π΅Π³ΠΎ ΠΎΠ½ΠΈ Π½ΡƒΠΆΠ½Ρ‹

WSL – запуск исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ подсистСмы Windows для Linux (WSL) Π² Windows 10.

Π’ соврСмСнных вСрсиях ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы Windows 10 имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования подсистСмы Windows для Linux (WSL — W indows S ubsystem for L inux), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ Π»Π΅Π³ΠΊΠΎ ΠΈ просто ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ· Microsoft Store Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ дистрибутивы Linux, Π² Ρ‚ΠΎΠΌ числС Debian, Ubuntu, Kali, Suse. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΡΡ‚ΠΈ — Linux Π² срСдС Windows 10. ΠŸΡ€ΠΈ использовании WSL, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ с Linux, Π° ΠΈΠ½Ρ‚Π΅Π³Ρ€ΠΈΡ€ΠΎΠ²Π°Π½Π½ΡƒΡŽ Π² Windows подсистСму с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ выполнСния ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΈΠ· ΠΎΠ±Π΅ΠΈΡ… ОБ, запуск ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΎΠ΄Π½ΠΎΠΉ ОБ ΠΈΠ· срСды Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΈ Ρ‚.ΠΏ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, WSL прСдоставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Windows 10 Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… дистрибутивов Linux ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ.

WSL.exe — ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для выполнСния ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½Ρ‹Ρ… Ρ„Π°ΠΉΠ»ΠΎΠ² Linux ΠΈ административных ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² подсистСмС Windows для Linux (Windows Subsystem for Linux). ΠšΡ€ΠΎΠΌΠ΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ², возмоТности ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ ΠΏΠΎ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ дистрибутивами Linux ΠΏΠΎΡ‡Ρ‚ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‚ возмоТностям ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wslconfig.exe

Π€ΠΎΡ€ΠΌΠ°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

wsl.exe [АргумСнты] [ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. ] [командная строка]

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки:

АргумСнты для запуска Π΄Π²ΠΎΠΈΡ‡Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° Linux:

— Если командная строка Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π°, Ρ‚ΠΎ wsl.exe запускаСт ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΡƒ bash дистрибутива Linux, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

— —exec, -e — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π±Π΅Π· использования стандартной ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠΈ Linux.

— — — ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΎΡΡ‚Π°Π²ΡˆΠ΅ΠΉΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ΠΊΠ°ΠΊ Π΅ΡΡ‚ΡŒ.

—distribution, -d — Запуск ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ дистрибутива Linux. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ DistributionName Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ дистрибутива Linux, присвоСнноС Π΅ΠΌΡƒ Π² подсистСмС WSL, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SLES-15 для SUSE Linux Enterprise Server 15. Бписок зарСгистрированных Π² систСмС дистрибутивов ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ wsl –list

—user, -u — Запуск ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

АргумСнты для управлСния подсистСмой Windows для Linux:

—export — Экспорт дистрибутива DistributionName Π² TAR-Ρ„Π°ΠΉΠ» FileName

—import — Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ TAR-Ρ„Π°ΠΉΠ»Π° Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ дистрибутива DistributionName Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ InstallLocation

—list, -l [[—all] –running] — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список дистрибутивов Linux, зарСгистрированных Π² систСмС. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° —all отобраТаСтся список всСх дистрибутивов, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ сСйчас ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ. ΠŸΡ€ΠΈ ΡƒΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° —running отобраТаСтся список Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π½Π° Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ дистрибутивов.

-setdefault, -s — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ дистрибутив Π² качСствС дистрибутива ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

—terminate, -t — ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ дистрибутива.

—unregister — ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ (ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ) ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ дистрибутив.

—upgrade — дистрибутив пСрСводится Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы WslFs.

—help — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ справку ΠΏΠΎ использованию wsl.exe.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования WSL.EXE для запуска ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ.

wsl —help — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ подсказку ΠΏΠΎ использованию wsl.exe.

wsl –h — Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ с использованиСм синтаксиса ΡƒΠΊΠΎΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².

wsl –list — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список дистрибутивов Linux, зарСгистрированных Π² систСмС. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ:

РаспрСдСлСния подсистСмы Windows для Linux:

Ubuntu (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ)
kali-linux
SLES-15
Ubuntu-18.04

На сСгодняшний дСнь ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ сообщСний ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wsl.exe Π½Π° русский язык оставляСт ΠΆΠ΅Π»Π°Ρ‚ΡŒ Π»ΡƒΡ‡ΡˆΠ΅Π³ΠΎ. ΠŸΠ΅Ρ€Π²Ρ‹ΠΌ Π² спискС зарСгистрированных Π² Windows 10 дистрибутивов Linux отобраТаСтся дистрибутив, установлСнный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ИмСнно этот дистрибутив ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для запуска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Linux, Ссли явно Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ дистрибутива.

wsl.exe — Ссли ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π½Π΅ Π·Π°Π΄Π°Π½Ρ‹, выполняСтся запуск дистрибутива Linux, установлСнного ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

wsl -d Ubuntu — Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ дистрибутив Ubuntu . Для Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² консоли Linux ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ logout ΠΈΠ»ΠΈ exit . ПослС запуска дистрибутива отобраТаСтся стандартный эмулятор Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° Linux с ΠΏΡ€ΠΈΠ³Π»Π°ΡˆΠ΅Π½ΠΈΠ΅ΠΌ ΠΊ Π²Π²ΠΎΠ΄Ρƒ ΠΊΠΎΠΌΠ°Π½Π΄. ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ прСдоставляСтся стандартная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ° bash.

wsl -e ls -l /etc — Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ls -l /etc для дистрибутива ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ (ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ содСрТимоС ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° /etc Π² ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅).

wsl -d sles-15 -e ls -l /etc — Ρ‚ΠΎ ΠΆΠ΅, Ρ‡Ρ‚ΠΎ ΠΈ Π² ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅, Π½ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° выполняСтся Π² срСдС дистрибутива sles-15

Для ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ дистрибутива сцСнариями, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ для WSL ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ окруТСния WSL_DISTRO_NAME .

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅:
ΠšΡ‚ΠΎ всС эти люди ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ скам ΠΎΡ‚ старого Π­Π΄ΡƒΠ°Ρ€Π΄Π°

Для просмотра ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния дистрибутива ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:

wsl -e env — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ окруТСния. Π’ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… вСрсиях ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wsl.exe допускаСтся Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки Π±Π΅Π· ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° -e :

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… окруТСния:

HOSTTYPE=x86_64
LANG=C.UTF-8
WSL_DISTRO_NAME=Ubuntu
USER=root
PWD=/mnt/c/WINDOWS/system32
HOME=/root
NAME=Win10
SHELL=/bin/bash
TERM=xterm-256color
SHLVL=1
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32/WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32/OpenSSH/: /mnt/c/Users/User/AppData/Local/ Microsoft/WindowsApps
WSLENV=
_=/usr/bin/env

Как Π²ΠΈΠ΄ΠΈΠΌ, Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, опрСдСляСмый Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ PWD ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Ρƒ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска wsl.exe , Π² Π΄Π°Π½Π½ΠΎΠΌ случаС, C:WindowsSystem32, Ρ‡Ρ‚ΠΎ соотвСтствуСт /mnt/c/WINDOWS/system32 Π² Linux.

ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΡƒΡŽ WSLENV ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ для совмСстного использования сцСнариями Windows ΠΈ Linux.

ΠŸΡƒΡ‚ΠΈ поиска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя ΠΊΠ°ΠΊ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы Windows, Ρ‚Π°ΠΊ ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ Linux.

wsl -d kali-linux -u root ifconfig — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ сСтСвых интСрфСйсов дистрибутива kali-linux ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ ΡΡƒΠΏΠ΅Ρ€ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ root .

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Ρ€Π°Π·Π½Ρ‹Ρ… ОБ с Ρ€Π°Π·Π½Ρ‹ΠΌΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹ΠΌΠΈ окруТСния ΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹ΠΌ синтаксисом ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ трудности, НапримСр, Π½ΡƒΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈ сраТу ΠΆΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π² срСдС WSL Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ Midnight Commander ( mc ). ΠΠ°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ установку ΠΈ запуск Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€:

wsl apt-get install mc && mc

Но, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΊΠΎΠΌΠ°Π½Π΄ Windows воспримСт ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ символ & ΠΊΠ°ΠΊ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ΅ Windows ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Π²ΠΎΠ΄ΠΈΠΌΡƒΡŽ строку ΠΊΠ°ΠΊ 2 ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Wsl apt-get install mc — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ mc Π² срСдС Linux ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
mc — Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ mc Π² срСдС Windows 10

Π§Ρ‚ΠΎΠ±Ρ‹ установлСнная ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° mc Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ»Π°ΡΡŒ Π² срСдС Linux, ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒΡΡ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ wsl.exe :

wsl apt-get install mc & wsl mc

ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ ΠΈΠΌΠ΅Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ Π² Linux ΠΈ Windows ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡŽΡ‚, Π° Π² путях поиска исполняСмых Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈ ΠΎΠ±Π΅ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… систСм, Π° Ρ‚Π°ΠΊΠΆΠ΅ Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠΌ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ Linux, Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³, Π±Ρ‹Π²ΡˆΠΈΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π½Π° ΠΌΠΎΠΌΠ΅Π½Ρ‚ запуска ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹ wsl.exe .

wsl ping ya.ru — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ping.ya.ru Π² срСдС дистрибутива Linux, установлСнного ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

wsl –e /mnt/c/windows/system32/ping.exe ya.ru — Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ping.ya.ru Π² срСдС Windows 10.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ использования WSL.EXE для администрирования дистрибутивов Linux.

wsl —export kali-linux D:kali-linux.tar — экспорт дистрибутива kali-linux Π² TAR-Ρ„Π°ΠΉΠ» D:kali-linux.tar

wsl —import ubuntu2 D:linuxubuntu2 D:ubuntu.tar — ΠΈΠΌΠΏΠΎΡ€Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ TAR-Ρ„Π°ΠΉΠ»Π° D:ubuntu.tar Π² качСствС Π½ΠΎΠ²ΠΎΠ³ΠΎ дистрибутива ubuntu2 , Ρ€Π°Π·ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ D:linuxubuntu2. ΠŸΡ€ΠΈ стандартной установкС дистрибутивы Linux ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ «C:Usersимя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡLocal SettingsPackages»
BR> wsl —list —all — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список установлСнных дистрибутивов Linux, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΡΡŽΡ‚ΡΡ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.

wsl —list –running — ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ список Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ дистрибутивов.

wsl –setdefault ubuntu2 — ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ дистрибутив ubuntu2 , Π² качСствС дистрибутива ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.

wsl -t Ubuntu — Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ дистрибутива Ubuntu

wsl —unregister ubuntu — ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΡŽ дистрибутива Ubuntu

wsl —upgrade Ubuntu — Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ дистрибутива Ubuntu Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы WslFs .

Π§Ρ‚ΠΎ Π’Π°ΠΊΠΎΠ΅ Curl ΠΈ Как Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π­Ρ‚Π° Команда?

Π§Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ Curl? Curl β€” это сокращСниС ΠΎΡ‚ β€œClient URL”. Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° доступна Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ систСм Π½Π° основС Unix ΠΈ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΊ URL-адрСсам. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄Π° Curl β€” ΠΎΡ‚Π»ΠΈΡ‡Π½Ρ‹ΠΉ инструмСнт ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π”Π°Π²Π°ΠΉΡ‚Π΅ ΠΆΠ΅ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ Сю ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ.

Команда Curl ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ список ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ²:

  • HTTP ΠΈ HTTPS
  • FTP ΠΈ FTPS
  • IMAP ΠΈ IMAPS
  • POP3 ΠΈ POP3S
  • SMB ΠΈ SMBS
  • SFTP
  • SCP
  • TELNET
  • GOPHER
  • LDAP ΠΈ LDAPS
  • SMTP ΠΈ SMTPS

Π­Ρ‚ΠΎ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½Ρ‹Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹, Π½ΠΎ Π΅ΡΡ‚ΡŒ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΠ΅. Curl Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π½Π° libcurl, которая являСтся бСсплатной Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΎΠΉ для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ URL Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°.

ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉΡ‚Π΅ ваш ΠΏΡ€ΠΎΠ΅ΠΊΡ‚, воспользовавшись скидками Π½Π° VPS-хостинг Π² Hostinger! Π‘ΠΎΠ»ΡŒΡˆΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΏΠ»Π°Π½ΠΎΠ², ΠΊΠ°ΠΊ для ΡƒΡ‡Π΅Π±Π½Ρ‹Ρ…, Ρ‚Π°ΠΊ ΠΈ для ΠΊΡ€ΡƒΠΏΠ½Ρ‹Ρ… коммСрчСских ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠ².

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ВСрсии Curl

ΠŸΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΠΌΡ‹ Π½Π°Ρ‡Π½Ρ‘ΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с Curl, Π½Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π²ΠΎΠΉΡ‚ΠΈ Π² наш VPS. Если Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ, ΠΎΠ·Π½Π°ΠΊΠΎΠΌΡŒΡ‚Π΅ΡΡŒ с этим руководством ΠΏΠΎ SSH.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅:
Как ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст ΠΈΠ· Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹Ρ… ΠΎΠΊΠΎΠ½ Windows 10 срСдствами систСмы

Π‘Π½Π°Ρ‡Π°Π»Π° Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π΅Ρ‘ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡŽ Π²Π΅Ρ€ΡΠΈΡŽ, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’ Π²Ρ‹Π²ΠΎΠ΄Π΅ Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΈ список ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ². Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·Π³Π»ΡΠ½ΡƒΡ‚ΡŒ Π½Π° Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ Curl.

Основной Бинтаксис ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Curl

Π˜Ρ‚Π°ΠΊ, Π΄Π°Π²Π°ΠΉΡ‚Π΅ ΡƒΠ·Π½Π°Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚ΠΎΠΉ. Основной синтаксис Curl выглядит ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

Π‘Π°ΠΌΡ‹ΠΉ простой ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования Curl β€” для отобраТСния содСрТимого страницы. ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Π°Ρ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ домашнюю страницу testdomain.com .

Π­Ρ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ ΠΏΠΎΠ»Π½Ρ‹ΠΉ исходный ΠΊΠΎΠ΄ домашнСй страницы Π΄ΠΎΠΌΠ΅Π½Π°. Если ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Curl ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π΅Π³ΠΎ ΠΊΠ°ΠΊ HTTP.

Команда Curl для Π Π°Π±ΠΎΡ‚Ρ‹ с Π€Π°ΠΉΠ»Π°ΠΌΠΈ

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Curl ΠΌΠΎΠ³ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ ΠΈΠ· ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΉ Π»ΠΎΠΊΠ°Ρ†ΠΈΠΈ. Π•ΡΡ‚ΡŒ Π΄Π²Π° способа это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ:

  • -O сохранит Ρ„Π°ΠΉΠ» Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΌ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ с Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΈΠΌΠ΅Π½Π΅ΠΌ, Ρ‡Ρ‚ΠΎ ΠΈ Ρƒ ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ;
  • -o позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠ΅ имя Ρ„Π°ΠΉΠ»Π° ΠΈΠ»ΠΈ мСстополоТСниС.

ΠŸΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Π°Ρ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° сохранит Ρ„Π°ΠΉΠ» ΠΊΠ°ΠΊ testfile.tar.gz .

А эта ΠΊΠΎΠΌΠ°Π½Π΄Π° сохранит Π΅Π³ΠΎ ΠΊΠ°ΠΊ newtestfile.tar.gz .

Если ΠΏΠΎ ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅Ρ€Π²Π°Π½Π°, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Ρ‘ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Curl Ρ‚Π°ΠΊΠΆΠ΅ позволяСт Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€:

Если Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ² с Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… URL, пСрСчислитС ΠΈΡ… всС Π² Ρ„Π°ΠΉΠ»Π΅. ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Curl ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½Ρ‹ с xargs для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… URL-адрСсов.

НапримСр, Ссли Ρƒ нас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ» allUrls.txt , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит список всСх URL-адрСсов для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ, Ρ‚ΠΎ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹ΠΉ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ всСх Ρ„Π°ΠΉΠ»ΠΎΠ² с этих URL.

ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ Curl для HTTP

Curl Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ c прокси-сСрвСром. Если Π²Ρ‹ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚Π΅ΡΡŒ Π·Π° прокси-сСрвСром, ΠΏΡ€ΠΎΡΠ»ΡƒΡˆΠΈΠ²Π°ΡŽΡ‰ΠΈΠΌ ΠΏΠΎΡ€Ρ‚ 8090 Π½Π° sampleproxy.com, Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚Π΅ Ρ„Π°ΠΉΠ»Ρ‹, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²Ρ‹Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ -U username:password , Ссли прокси-сСрвСр Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.

Π’ΠΈΠΏΠΈΡ‡Π½Ρ‹ΠΉ HTTP-запрос всСгда содСрТит Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ HTTP отправляСт Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠΌ Π²Π΅Π±-сСрвСрС вмСстС с фактичСским запросом. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ инструмСнтов Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ свСдСния ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅, Π° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ curl.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π½ΠΈΠΆΠ΅ дСмонстрируСт, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ с Π²Π΅Π±-сайта.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ curl, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ запрос GET ΠΈ POST . Запрос GET Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ:

А Π²ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ запроса POST :

Π—Π΄Π΅ΡΡŒ text=Hello β€” это ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ запроса POST. Π’Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΡ…ΠΎΠΆΠ΅ Π½Π° HTML-Ρ„ΠΎΡ€ΠΌΡ‹.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ нСсколько ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² HTTP Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ curl. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ это, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠΏΡ†ΠΈΡŽ –next , Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

Команда содСрТит запрос POST, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт запрос GET.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ HTTP-запрос содСрТит Π°Π³Π΅Π½Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отправляСтся ΠΊΠ°ΠΊ Ρ‡Π°ΡΡ‚ΡŒ запроса. Он ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ запрос содСрТит curl ΠΈ Π½ΠΎΠΌΠ΅Ρ€ вСрсии Π² качСствС ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± Π°Π³Π΅Π½Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΡ€ΠΈΠΌΠ΅Ρ€ Π²Ρ‹Π²ΠΎΠ΄Π° ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅:

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Π³Π΅Π½Ρ‚Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

Π’Π΅ΠΏΠ΅Ρ€ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Команда Curl и Cookies

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Ρƒ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠ΅ Ρ„Π°ΠΉΠ»Ρ‹ cookie Π·Π°Π³Ρ€ΡƒΠΆΠ°ΡŽΡ‚ΡΡ ΠΏΠΎ URL. Допустим Π²Ρ‹ зашли Π½Π° https://www.samplewebsite.com , Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ вывСсти ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie Π² Ρ„Π°ΠΉΠ», Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊ Π½ΠΈΠΌ доступ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ cat ΠΈΠ»ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Vim.

Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚Π°ΠΊΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

Π’ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊ ΠΆΠ΅, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie Π² Ρ„Π°ΠΉΠ»Π΅, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΈΡ… Π½Π° сайт. Π’ΠΎΡ‚, ΠΊΠ°ΠΊ это Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π³Π»ΡΠ΄Π΅Ρ‚ΡŒ:

Curl ΠΈ FTP

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ FTP! Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘ для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² с ΡƒΠ΄Π°Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ сСрвСра.

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Ρ‘Π½Π½ΠΎΠΉ Π²Ρ‹ΡˆΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ ftp://sampleftpserver β€” это FTP-сСрвСр, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ соСдинСния. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π½Π΅ ΡƒΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… FTP-соСдинСний. Π’Π²Π΅Π΄ΠΈΡ‚Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ ΠΈ посмотритС, ΠΊΠ°ΠΊ заполняСтся ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния.

Π’Ρ‹ Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этой ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅ Ρ‚Π°ΠΊΠΈ, ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ для Π°Π½ΠΎΠ½ΠΈΠΌΠ½Ρ‹Ρ… FTP-соСдинСний.

ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ Бкорости Бкачивания

Бкачивая ΠΈΠ»ΠΈ загруТая Π΄Π°Π½Π½Ρ‹Π΅ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Curl, Π²Ρ‹ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π½Π°Ρ‚ΡŒ, насколько большим Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²ΠΎΠ΄. Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ скачивания, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ±Π΅Π΄ΠΈΡ‚ΡŒΡΡ, Ρ‡Ρ‚ΠΎ Curl Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΏΡƒΡΠΊΠ½ΡƒΡŽ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ‚ΡŒ ΠΊΠ°Π½Π°Π»Π°.

Команда Π½ΠΈΠΆΠ΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ скачивания Π΄ΠΎ 100К:

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅:
Π‘Ρ…Π΅ΠΌΠ° Π·Π°Π»ΠΈΠ²Π° Π² Facebook ΠΈΠ· Π΄ΠΎΠΊΠ»Π°Π΄Π° АлСксандра Π‘Π»ΠΎΠ±ΠΎΠΆΠ΅Π½ΠΊΠΎ (MAC 2021)

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

Π’ этом руководствС ΠΌΡ‹ рассказали Π²Π°ΠΌ, Ρ‡Ρ‚ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ curl, Π° Ρ‚Π°ΠΊΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΌΠΎΡ‰Π½ΡƒΡŽ ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ для скачивания ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Если Π²Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚Π΅ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкой, Ρ‚ΠΎ Π²Π°ΠΌ стоит Π½Π°ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ этой ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ. На самом Π΄Π΅Π»Π΅ Curl β€” это Π½Π΅ просто ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Linux ΠΈΠ»ΠΈ Windows. Она ΠΈΠΌΠ΅Π΅Ρ‚ ΠΌΠ½ΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² примСнСния ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π½Ρ‹Π΅ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρ‹.

И ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ссли Π²Π°ΠΌ Π½ΡƒΠΆΠ½Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΡƒΠ·Π½Π°Ρ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ слоТныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Curl, Π²Ρ‹ всСгда ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΡ‚ΡŒΡΡ ΠΊ руководству, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π²ΠΎ всСх вСрсиях Unix:

ΠœΡ‹ надССмся, Ρ‡Ρ‚ΠΎ это руководство станСт для вас ΠΎΡ‚ΠΏΡ€Π°Π²Π½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ Π² использовании этой ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹. И Π½Π΅ Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ Ρ€Π°ΡΡΠΊΠ°Π·Π°Ρ‚ΡŒ Π½Π°ΠΌ ΠΎ своём ΠΎΠΏΡ‹Ρ‚Π΅ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½Π΅ΠΉ Π² коммСнтариях!

Ольга ΡƒΠΆΠ΅ ΠΎΠΊΠΎΠ»ΠΎ пяти Π»Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΎΠΌ Π² сфСрС IT. НаписаниС тСхничСских Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ инструкций β€” ΠΎΠ΄Π½Π° ΠΈΠ· Π΅Ρ‘ Π³Π»Π°Π²Π½Ρ‹Ρ… обязанностСй. Π•Ρ‘ Ρ…ΠΎΠ±Π±ΠΈ β€” ΡƒΠ·Π½Π°Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π½ΠΎΠ²ΠΎΠ΅ ΠΈ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ интСрСсныС ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ ΠΎ соврСмСнных тСхнологиях, Π²Π΅Π±-Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅, языках программирования ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠΌ Π΄Ρ€ΡƒΠ³ΠΎΠΌ.

Π£Ρ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки CURL

CURL β€” ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для Linux ΠΈΠ»ΠΈ Windows, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π°ΠΌΠΈ: FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, LDAP, POP3, IMAP ΠΈ SMTP. Она ΠΎΡ‚Π»ΠΈΡ‡Π½ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ для ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΠΈ дСйствий ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° страницах сайтов ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с URL адрСсами. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° CURL Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π² мноТСство Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… языков программирования ΠΈ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌ.

Для Π½Π°Ρ‡Π°Π»Π° скачаСм саму ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρƒ, для этого ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ сайт ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Ρ‹, Π² Ρ€Π°Π·Π΄Π΅Π» Download. ПослС скачивания Π°Ρ€Ρ…ΠΈΠ²Π° для своСй ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ (Ρƒ мСня это Windows 64 bit), распаковываСм Π°Ρ€Ρ…ΠΈΠ². Π§Ρ‚ΠΎΠ±Ρ‹ ΠΈΠΌΠ΅Ρ‚ΡŒ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с HTTPS ΠΈ FTPS, устанавливаСм сСртификат бСзопасности url-ca-bundle.crt , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ находится Π² ΠΏΠ°ΠΏΠΊΠ΅ curl/bin .

ЗапускаСм ΠΊΠΎΠΌΠ°Π½Π΄Π½ΡƒΡŽ строку, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ curl/bin ΠΈ пытаСмся ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Π³Π»Π°Π²Π½ΡƒΡŽ страницу Google:

ΠžΠΏΡ†ΠΈΡ -X позволяСт Π·Π°Π΄Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ HTTP-запроса вмСсто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ GET. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ запросы ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ POST, PUT ΠΈ DELETE ΠΈΠ»ΠΈ связанныС с WebDAV β€” PROPFIND, COPY, MOVE ΠΈ Ρ‚.ΠΏ.

Π‘Π»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π·Π° Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π°ΠΌΠΈ

Π‘Π΅Ρ€Π²Π΅Ρ€ Google сообщил Π½Π°ΠΌ, Ρ‡Ρ‚ΠΎ страница google.com ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½Π° (301 Moved Permanently), ΠΈ Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π½Π°Π΄ΠΎ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Ρ‚ΡŒ страницу www.google.com . Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -L ΡƒΠΊΠ°ΠΆΠ΅ΠΌ CURL ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Ρ€Π΅Π΄ΠΈΡ€Π΅ΠΊΡ‚Π°ΠΌ:

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ», Π½Π°Π΄ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ†ΠΈΠΈ -o ΠΈΠ»ΠΈ -O :

  • -o ( o Π½ΠΈΠΆΠ½Π΅Π³ΠΎ рСгистра) β€” Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ сохранён Π² Ρ„Π°ΠΉΠ»Π΅, Π·Π°Π΄Π°Π½Π½ΠΎΠΌ Π² ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строкС;
  • -O ( O Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ рСгистра) β€” имя Ρ„Π°ΠΉΠ»Π° Π±ΡƒΠ΄Π΅Ρ‚ взято ΠΈΠ· URL ΠΈ Π±ΡƒΠ΄Π΅Ρ‚ использовано для сохранСния ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….

БохраняСм страницу Google Π² Ρ„Π°ΠΉΠ» google.html :

БохраняСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ gettext.html Π² Ρ„Π°ΠΉΠ» gettext.html :

Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½

ΠžΠΏΡ†ΠΈΡ -z позволяСт ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹ послС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π­Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ для FTP ΠΈ для HTTP. НапримСр, Ρ„Π°ΠΉΠ» archive.zip Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½, Ссли ΠΎΠ½ измСнялся послС 20 августа 2018 Π³ΠΎΠ΄Π°:

Команда Π½ΠΈΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Ρ„Π°ΠΉΠ» archive.zip , Ссли ΠΎΠ½ измСнялся Π΄ΠΎ 20 августа 2018 Π³ΠΎΠ΄Π°:

ΠŸΡ€ΠΎΡ…ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ HTTP

ΠžΠΏΡ†ΠΈΡ -u позволяСт ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ (имя ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ) для прохоТдСния Π±Π°Π·ΠΎΠ²ΠΎΠΉ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈ (Basic HTTP Authentication):

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° cookie

Cookie ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ сайтами для хранСния Π½Π΅ΠΊΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° сторонС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. Π‘Π΅Ρ€Π²Π΅Ρ€ сохраняСт cookie Π½Π° сторонС ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° (Ρ‚.Π΅. Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅), отправляя Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ:

А Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Π² свою ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ, отправляСт ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ cookie ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ Π½Π° сСрвСр ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ запросС. РазумССтся, Ρ‚ΠΎΠΆΠ΅ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°Ρ…:

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ cookie Π½Π° сСрвСр, ΠΊΠ°ΠΊ Π±ΡƒΠ΄Ρ‚ΠΎ ΠΎΠ½ΠΈ Π±Ρ‹Π»ΠΈ Ρ€Π°Π½Π΅Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ ΠΎΡ‚ сСрвСра:

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ сookie Π² Ρ„Π°ΠΉΠ»:

Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ сохранСнныС Π² Ρ„Π°ΠΉΠ»Π΅ cookie ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ:

Π€Π°ΠΉΠ» cookie.txt ΠΈΠΌΠ΅Π΅Ρ‚ Π²ΠΈΠ΄:

ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ²

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвСра Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ. Но это ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ:

Если содСрТимоС страницы Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π° интСрСсны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ (Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ HEAD запрос):

ΠŸΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ, ΠΊΠ°ΠΊΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ отправляСт CURL ΠΏΡ€ΠΈ запросС, ΠΌΠΎΠΆΠ½ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΎΠΏΡ†ΠΈΠΈ -v , которая Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ:

  • Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с > ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСру
  • Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с < ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΡ‚ сСрвСра
  • Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰Π°ΡΡΡ с * ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ CURL
Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅:
ЗависаСт Windows 10 ΠΈ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚: Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ?

А Π²ΠΎΡ‚ Ρ‚Π°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ свой Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ:

ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ POST

Команда Π½ΠΈΠΆΠ΅ отправляСт POST запрос Π½Π° сСрвСр Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ Ρ‚ΠΎΠΌΡƒ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Π·Π°ΠΏΠΎΠ»Π½ΠΈΠ² HTML Ρ„ΠΎΡ€ΠΌΡƒ, Π½Π°ΠΆΠ°Π» Π±Ρ‹ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒΒ». Π”Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ application/x-www-form-urlencoded .

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ —data Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π΅Π½ —data-ascii , для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ —data-binary . Для URL-кодирования ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ —data-urlencode .

Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΠΏΡ†ΠΈΠΈ —data начинаСтся с @ , Ρ‚ΠΎ послС Π½Π΅Π³ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ имя Ρ„Π°ΠΉΠ»Π° с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ (ΠΈΠ»ΠΈ дСфис β€” Ρ‚ΠΎΠ³Π΄Π° Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· стандартного Π²Π²ΠΎΠ΄Π°). ΠŸΡ€ΠΈΠΌΠ΅Ρ€ получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ POST-запроса:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° data.txt :

Массив $_POST , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ этого запроса:

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ URL-кодирования Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· Ρ„Π°ΠΉΠ»Π° ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ POST-запроса:

Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Ρ„Π°ΠΉΠ»Π° username.txt :

Массив $_POST , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ этого запроса:

Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ POST

Для HTTP запроса Ρ‚ΠΈΠΏΠ° POST сущСствуСт Π΄Π²Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ· HTML Ρ„ΠΎΡ€ΠΌ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ application/x-www-form-urlencoded ΠΈ multipart/form-data . Алгоритм ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ° создавался Π΄Π°Π²Π½Ρ‹ΠΌ-Π΄Π°Π²Π½ΠΎ, ΠΊΠΎΠ³Π΄Π° Π² языкС HTML Π΅Ρ‰Π΅ Π½Π΅ прСдусматривали Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· HTML Ρ„ΠΎΡ€ΠΌΡ‹.

Π‘ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ Π²ΠΎΠ·Π½ΠΈΠΊΠ»Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· Ρ„ΠΎΡ€ΠΌΡ‹ ΠΎΡ‚ΡΡ‹Π»Π°Ρ‚ΡŒ Π΅Ρ‰Π΅ ΠΈ Ρ„Π°ΠΉΠ»Ρ‹. Π’ΠΎΠ³Π΄Π° консорциум W3C взялся Π·Π° Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° POST запроса, Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ Ρ‡Π΅Π³ΠΎ появился Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ RFC 1867. Π€ΠΎΡ€ΠΌΠ°, которая позволяСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ», ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌ multipart/form-data , выглядит ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π° сСрвСр Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°ΠΊΠΎΠΉ Ρ„ΠΎΡ€ΠΌΡ‹:

Π‘ΠΊΡ€ΠΈΠΏΡ‚ upload.php , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹:

Π Π°Π±ΠΎΡ‚Π° ΠΏΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Ρƒ FTP

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» с FTP-сСрвСра:

Если Π·Π°Π΄Π°Π½Π½Ρ‹ΠΉ FTP ΠΏΡƒΡ‚ΡŒ являСтся Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠ΅ΠΉ, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π²Π΅Π΄Π΅Π½ список Ρ„Π°ΠΉΠ»ΠΎΠ² Π² Π½Π΅ΠΉ:

Команда Curl Π² Linux с ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°ΠΌΠΈ

curl — это ΡƒΡ‚ΠΈΠ»ΠΈΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра ΠΈΠ»ΠΈ Π½Π° сСрвСр, прСдназначСнная для Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· взаимодСйствия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π²Ρ‹Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΎΠ², Π²ΠΊΠ»ΡŽΡ‡Π°Ρ HTTP, HTTPS, SCP , SFTP ΠΈ FTP . curl прСдоставляСт ряд ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ², ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Ρƒ, ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ полосу пропускания, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΡƒ прокси, Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.

Π’ этом руководствС ΠΌΡ‹ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Π°ΠΌ, ΠΊΠ°ΠΊ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ инструмСнт Π·Π°Π²ΠΈΠ²ΠΊΠΈ, Π½Π° практичСских ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°Ρ… ΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… ΠΎΠ±ΡŠΡΡΠ½Π΅Π½ΠΈΡΡ… Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ распространСнных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² Π·Π°Π²ΠΈΠ²ΠΊΠΈ.

Установка Curl

БСгодня ΠΏΠ°ΠΊΠ΅Ρ‚ curl прСдустановлСн Π² Π±ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²Π΅ дистрибутивов Linux.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, установлСн Π»ΠΈ ΠΏΠ°ΠΊΠ΅Ρ‚ Curl Π² вашСй систСмС, ΠΎΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ консоль, Π²Π²Π΅Π΄ΠΈΡ‚Π΅ curl ΠΈ Π½Π°ΠΆΠΌΠΈΡ‚Π΅ Enter. Если Ρƒ вас установлСн curl , систСма Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ curl: try 'curl —help' or 'curl —manual' for more information . Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС Π²Ρ‹ ΡƒΠ²ΠΈΠ΄ΠΈΡ‚Π΅ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ€ΠΎΠ΄Π΅ curl command not found .

Если curl Π½Π΅ установлСн, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π»Π΅Π³ΠΊΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΅Π³ΠΎ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ диспСтчСра ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² вашСго дистрибутива.

УстановитС Curl Π² Ubuntu ΠΈ Debian

УстановитС Curl Π½Π° CentOS ΠΈ Fedora

Как ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Curl

Бинтаксис ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ curl ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ:

Π’ ΠΏΡ€ΠΎΡΡ‚Π΅ΠΉΡˆΠ΅ΠΉ Ρ„ΠΎΡ€ΠΌΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π΅Π· ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² curl Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ рСсурс Π½Π° стандартный Π²Ρ‹Π²ΠΎΠ΄.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ домашнюю страницу example.com Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ:

Команда Π½Π°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ исходный ΠΊΠΎΠ΄ домашнСй страницы example.com Π² ΠΎΠΊΠ½Π΅ вашСго Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°.

Если ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, curl пытаСтся ΡƒΠ³Π°Π΄Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ», ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, ΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ HTTP .

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π²Ρ‹Π²ΠΎΠ΄ Π² Ρ„Π°ΠΉΠ»

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ curl , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -o ΠΈΠ»ΠΈ -O .

vue-v2.6.10.js -o сохраняСт Ρ„Π°ΠΉΠ» с ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π² ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ являСтся vue-v2.6.10.js :

Π’Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр -O сохраняСт Ρ„Π°ΠΉΠ» с исходным ΠΈΠΌΠ΅Π½Π΅ΠΌ:

Π‘ΠΊΠ°Ρ‡Π°Ρ‚ΡŒ нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ²

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ сразу нСсколько Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ нСсколько ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² -O , Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ слСдуСт URL-адрСс Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ.

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ iso-Ρ„Π°ΠΉΠ»Ρ‹ Arch Linux ΠΈ Debian:

Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -C — . Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ, Ссли вашС соСдинСниС прСрываСтся Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ большого Ρ„Π°ΠΉΠ»Π°, ΠΈ вмСсто Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с нуля, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ.

Π§ΠΈΡ‚Π°ΠΉΡ‚Π΅ Ρ‚Π°ΠΊ ΠΆΠ΅:
Π—Π°ΠΏΠΈΡΡŒ Π²ΠΈΠ΄Π΅ΠΎ экрана ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠΎΠΉ Movavi Video Suite 2020

НапримСр, Ссли Π²Ρ‹ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚Π΅ iso-Ρ„Π°ΠΉΠ» Ubuntu 18.04 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

ΠΈ Π²Π½Π΅Π·Π°ΠΏΠ½ΠΎ вашС соСдинСниС прСрываСтся, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ:

ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ URL-адрСса

Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ HTTP — это ΠΏΠ°Ρ€Ρ‹ ΠΊΠ»ΡŽΡ‡-Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ двоСточиями, содСрТащиС Ρ‚Π°ΠΊΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π°Π³Π΅Π½Ρ‚, Ρ‚ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° ΠΈ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°. Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром с запросом ΠΈΠ»ΠΈ ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠΌ.

Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -I Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ HTTP-Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ рСсурса:

ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡŒΡ‚Π΅, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ Π²Π΅Π±-сайт HTTP / 2

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ URL Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» HTTP / 2 , —http2 Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ HTTP с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ -I вмСстС с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ —http2 :

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -s ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ curl Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π² автоматичСском (Ρ‚ΠΈΡ…ΠΎΠΌ) Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ выполнСния ΠΈ сообщСния ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ….

Если ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ HTTP / 2, curl ΠΏΠ΅Ρ‡Π°Ρ‚Π°Π΅Ρ‚ HTTP/2.0 200 :

Π’ ΠΏΡ€ΠΎΡ‚ΠΈΠ²Π½ΠΎΠΌ случаС ΠΎΡ‚Π²Π΅Ρ‚ Π±ΡƒΠ΄Π΅Ρ‚ HTTP/1.1 200 :

Если Ρƒ вас curl вСрсии 7.47.0 ΠΈΠ»ΠΈ Π½ΠΎΠ²Π΅Π΅, Π²Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ —http2 ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ HTTP / 2 Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для всСх соСдинСний HTTPS.

Π‘Π»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° пСрСнаправлСниями

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ curl Π½Π΅ слСдуСт Π·Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ HTTP Location.

Если Π²Ρ‹ ΠΏΠΎΠΏΡ‹Ρ‚Π°Π΅Ρ‚Π΅ΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ google.com Π±Π΅Π· www, Π²Ρ‹ Π·Π°ΠΌΠ΅Ρ‚ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ вмСсто получСния источника страницы Π²Ρ‹ Π±ΡƒΠ΄Π΅Ρ‚Π΅ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° Π²Π΅Ρ€ΡΠΈΡŽ с www:

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -L ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ curl ΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚ΡŒ Π»ΡŽΠ±ΠΎΠΌΡƒ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡŽ, ΠΏΠΎΠΊΠ° Π½Π΅ достигнСт ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΡƒΠ½ΠΊΡ‚Π° назначСния:

Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ User-Agent

Иногда ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ρ„Π°ΠΉΠ»Π° ΡƒΠ΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ сСрвСр ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ настроСн Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π°Π³Π΅Π½Ρ‚ Curl ΠΈΠ»ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΎΠ΅ содСрТимоС Π² зависимости ΠΎΡ‚ устройства посСтитСля ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.

Π’ ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Ρ… ситуациях для эмуляции Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -A .

НапримСр, для эмуляции Firefox 60 Π²Ρ‹ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ:

Π£ΠΊΠ°ΠΆΠΈΡ‚Π΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ

ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ —limit-rate позволяСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ…. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΎ Π² Π±Π°ΠΉΡ‚Π°Ρ…, ΠΊΠΈΠ»ΠΎΠ±Π°ΠΉΡ‚Π°Ρ… с суффиксом k , ΠΌΠ΅Π³Π°Π±Π°ΠΉΡ‚Π°Ρ… с суффиксом m ΠΈ Π³ΠΈΠ³Π°Π±Π°ΠΉΡ‚Π°Ρ… с суффиксом g .

Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ curl Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» Go ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄ΠΎ 1 ΠœΠ‘:

Π­Ρ‚Π° опция ΠΏΠΎΠ»Π΅Π·Π½Π° для прСдотвращСния использования curl всСй доступной полосы пропускания.

ΠŸΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° Ρ„Π°ΠΉΠ»ΠΎΠ² Ρ‡Π΅Ρ€Π΅Π· FTP

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊ Π·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠΌΡƒ FTP-сСрвСру с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl , ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -u ΠΈ ΡƒΠΊΠ°ΠΆΠΈΡ‚Π΅ имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½ΠΈΠΆΠ΅:

ПослС Π²Ρ…ΠΎΠ΄Π° Π² систСму ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ список всСх Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² Π² домашнСм ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ Ρ„Π°ΠΉΠ» с FTP-сСрвСра, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ синтаксис:

Π§Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» Π½Π° FTP-сСрвСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ -T Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт имя Ρ„Π°ΠΉΠ»Π°, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ:

ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie

Иногда Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΡ‚Ρ€Π΅Π±ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ HTTP-запрос с ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Ρ„Π°ΠΉΠ»Π°ΠΌΠΈ cookie для доступа ΠΊ ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΌΡƒ рСсурсу ΠΈΠ»ΠΈ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹.

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ запросС рСсурса с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ curl Ρ„Π°ΠΉΠ»Ρ‹ cookie Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΈ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ.

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ»Ρ‹ cookie Π½Π° сСрвСр, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ -b Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт имя Ρ„Π°ΠΉΠ»Π°, содСрТащСго Ρ„Π°ΠΉΠ»Ρ‹ cookie, ΠΈΠ»ΠΈ строку.

НапримСр, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ rpm-Ρ„Π°ΠΉΠ» Oracle Java JDK jdk-10.0.2_linux-x64_bin.rpm Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„Π°ΠΉΠ» cookie с ΠΈΠΌΠ΅Π½Π΅ΠΌ oraclelicense со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ a :

ИспользованиС прокси

curl ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Ρ‚ΠΈΠΏΡ‹ прокси, Π²ΠΊΠ»ΡŽΡ‡Π°Ρ HTTP, HTTPS ΠΈ SOCKS. Для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ Π΄Π°Π½Π½Ρ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· прокси-сСрвСр ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -x ( —proxy ), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт URL-адрСс прокси.

Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ рСсурс с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ прокси Π½Π° 192.168.44.1 ΠΏΠΎΡ€Ρ‚ 8888 :

Если прокси-сСрвСр Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ -U ( —proxy-user ), Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ слСдуСт имя ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ Π΄Π²ΠΎΠ΅Ρ‚ΠΎΡ‡ΠΈΠ΅ΠΌ ( user:password ):

Π’Ρ‹Π²ΠΎΠ΄Ρ‹

curl — это инструмСнт ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ с ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠ³ΠΎ хоста ΠΈΠ»ΠΈ Π½Π° Π½Π΅Π³ΠΎ. Π­Ρ‚ΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ для устранСния Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ, Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹, ΠΏΠΎΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ Π² этом руководствС, просты, Π½ΠΎ Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ curl ΠΈ ΠΏΡ€ΠΈΠ·Π²Π°Π½Ρ‹ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠΎΠΌΠ°Π½Π΄Π° curl .

Для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ curl посСтитС страницу Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ ΠΏΠΎ Curl .

Если Ρƒ вас Π΅ΡΡ‚ΡŒ ΠΊΠ°ΠΊΠΈΠ΅-Π»ΠΈΠ±ΠΎ вопросы ΠΈΠ»ΠΈ ΠΎΡ‚Π·Ρ‹Π²Ρ‹, Π½Π΅ ΡΡ‚Π΅ΡΠ½ΡΠΉΡ‚Π΅ΡΡŒ ΠΎΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ.

голоса
Π Π΅ΠΉΡ‚ΠΈΠ½Π³ ΡΡ‚Π°Ρ‚ΡŒΠΈ
Бсылка Π½Π° ΠΎΡΠ½ΠΎΠ²Π½ΡƒΡŽ ΠΏΡƒΠ±Π»ΠΈΠΊΠ°Ρ†ΠΈΡŽ