Нова версія curl 7.66.0 надходить із початковою підтримкою HTTP / 3

curl-7.66.0

cURL - це програмний проект, що складається з бібліотеки (libcurl) і снаряд (curl), орієнтований на передачу файлів. Він підтримує протоколи FTP, FTPS, HTTP, HTTPS, TFTP, SCP, SFTP, Telnet, DICT, FILE та LDAP, серед іншого.

cURL підтримує сертифікати HTTPS, HTTP POST, HTTP PUT, Завантаження FTP, Kerberos, завантаження форми HTTP, проксі, файли cookie, автентифікація імені користувача та пароля (Basic, DIgest, NTLM та Negotiate для HTTP та kerberos 4 для FTP), продовження передачі файлів, тунелювання проксі HTTP, IMAP, POP3, LDAP, RTSP, RTMP та інші переваги.

Основною метою та використанням cURL є автоматизація передачі файлів або некеровані послідовності операцій. Це, наприклад, дійсний інструмент для імітації дій користувачів у веб-браузері.

В основному це утиліта для отримання та надсилання даних через мережу, що надає можливість гнучко формувати запит, встановлюючи такі параметри, як cookie, user_agent, referer та будь-який інший заголовок.

Крім того, бібліотека libcurl надає API для використання всіх функцій curl у програмах такими мовами, як C, Perl, PHP, Python.

cURL - це вільне програмне забезпечення з відкритим кодом, що розповсюджується за ліцензією MIT.

Про нову версію cURL 7.66.0

Нещодавно випущена нова версія cURL lяких він досягає з виправленням 77 помилок і впроваджує кілька нововведень, серед яких додано початкову підтримку протоколу HTTP / 3, який ще не приведений у повністю функціональну форму і за замовчуванням вимкнений (наприклад, доки обробник завершення з'єднання не буде готовий, паралелізація та обробка великих запитів не працює).

Для того, щоб увімкнути HTTP 3, потрібно відновити за допомогою серверних модулів quiche або ngtcp2 + nghttp3. Запропоновано використання параметра «–http3» та параметра libcurl «CURLOPT_HTTP_VERSION»;

Ще однією важливою зміною для нової версії cURL є те, що додано параметри "-Z" ("–паралельно") та "–parallel-max", що дозволяє організувати одночасне завантаження списку URL-адрес у кілька послідовностей.

Додана можливість встановлення іншого ідентифікатора для авторизації в SASL, зазначеного параметром – –sasl-authzid або параметром CURLOPT_SASL_AUTHZID (ідентифікатор автентифікації передається через CURLOPT_USERPWD).

Обробка заголовка HTTP Retry-After і коду повернення 429 була реалізована за допомогою параметра «–повтор» або опції CURLINFO_RETRY_AFTER.

Заголовок Retry-After визначає затримку перед відправкою наступних запитів у разі отримання кодів відповідей 429 (Забагато запитів), 503 (Послуга недоступна) або 301 (Постійно переміщена).

З інших змін, які виділяються в цій новій версії:

  • Додана функція curl_multi_poll (), ідентична curl_multi_wait (), за винятком випадків, коли немає дескрипторів файлів, на які слід чекати (curl_multi_wait негайно припиняється, а curl_multi_poll вводить невелику затримку перед виходом, щоб уникнути помилкових ситуацій завантаження через циклічний виклик)
  • Починаючи з цього випуску, curl вважатиме відповіді HTTP недійсними за замовчуванням
  • Виправлені уразливості: CVE-2019-5481: подвійне вільне блокування пам'яті у FTP-KRB (kerberos через FTP); CVE-2019-5482: переповнення буфера в драйвері TFTP.
  • Виправлена ​​регресія, через яку curl неправильно використовував облікові дані URL-адреси під час багатоступеневої автентифікації (наприклад, HTTP Digest) із проксі-сервером.

Як встановити cURL на Linux?

Для тих, хто зацікавлений у можливості встановити цю нову версію cURL Вони можуть це зробити, завантаживши вихідний код і скомпілювавши.

Для цього перше, що ми збираємося зробити, - це завантажити останній пакет cURL за допомогою терміналу в ньому давайте наберемо:

wget https://curl.haxx.se/download/curl-7.66.0.tar.xz

Потім ми розпакуємо завантажений пакет за допомогою:

tar -xzvf curl-7.66.0.tar.xz

Ми входимо до новоствореної папки з:

cd curl-7.66.0

Ми вводимо як root із:

sudo su

І ми вводимо наступне:

./configure --prefix=/usr \
--disable-static \
--enable-threaded-resolver \
--with-ca-path=/etc/ssl/certs &&
make
make install &&
rm -rf docs/examples/.deps &&
find docs \( -name Makefile\* -o -name \*.1 -o -name \*.3 \) -exec rm {} \; &&
install -v -d -m755 /usr/share/doc/curl-7.66.0 &&
cp -v -R docs/* /usr/share/doc/curl-7.66.0

Нарешті, ми можемо перевірити версію за допомогою:

curl --version

Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.