12 HTTP-клієнт і проксі-інструменти веб-налагодження

Однією з важливих навичок для розробника та системного адміністратора є налагодження програми, API або служб, а знання правильних інструментів є порятунком.

Що таке налагодження?

Якщо ви дивитеся кримінальні драми, то ідея налагодження не буде вам чужою. Налагодження — це процес, який включає багато тактик. Це систематичний пошук і вирішення проблем і помилок у програмі.

Крім того, налагодження усуває всі проблеми, які можуть перешкоджати коректній роботі програмного забезпечення або, в даному випадку, веб-додатку. Процес налагодження вашого API або веб-додатку в першу чергу передбачає спробу відтворити проблему.

Отже, виникає необхідність відправити API-запит. Ось тут і криється проблема. Більшість браузерів забороняють змінювати заголовок джерела та навіть обмеження на розмір URL-адреси.

Іншими словами, щоб відтворити проблему, вам може знадобитися виконати деякі маніпуляції HTTP. І для цього знадобляться деякі потужні засоби налагодження.

Усі компоненти або тактики процесу налагодження включають;

  • Інтерактивне налагодження
  • Аналіз потоку керування
  • Модульне тестування
  • Інтеграційне тестування
  • Аналіз лог-файлу
  • Моніторинг
  • Дампи пам’яті
  • Профілювання

Цікаво знати, що деякі HTTP-клієнти, тобто веб-браузери, мають вбудовані інструменти веб-розробника. Ці інструменти можна використовувати для налагодження API. Маючи це на увазі, немає необхідності писати свій інструмент налагодження.

Що таке HTTP-клієнт?

Припустімо, ви думаєте про створення системи, яка використовує протокол HTTP для розподіленого зв’язку або з підтримкою HTTP, як-от веб-програма. Тоді ви можете переглянути клієнтський компонент HTTP.

Завдяки HTTP, або протоколу передачі гіпертексту, ви можете спілкуватися або передавати дані в Інтернеті кожного разу, коли ви вводите URL-адресу. Це прикладний протокол, який робить можливим перегляд Інтернету.

Тепер HTTP-клієнт — це система, яка надсилає запити на сервер у текстовому форматі HTTP та, у свою чергу, отримує відповідь від того самого сервера.

Дуже важливо знати відмінності між HTTP-клієнтом і HTTP-сервером.

Відмінності між HTTP-клієнтом і сервером

У той час як HTTP-клієнт часто є веб-браузером або утилітою, HTTP-сервери діють як проксі серверів додатків.

  10 інструментів керування журналами для підприємств малого бізнесу [Splunk and ELK Stack Alternatives]

Простіше кажучи, ваші смартфони, телевізори, PlayStation, насправді будь-який пристрій, який може підключитися до Інтернету, ймовірно, використовує HTTP-клієнт.

Так само HTTP-сервер — це мережевий комп’ютер, до якого підключається HTTP-клієнт. Їхні стосунки більше схожі на спілкування. Коли клієнт HTTP надсилає запит, а сервер HTTP відповідає.

Приклади HTTP-запитів

Запити
Результати
ОТРИМАТИ
Запитує весь ресурс
КЕРІВНИК
Запитує ресурс без тіла
ПОСТ
Додає вміст до існуючого веб-ресурсу
ПОСТАВИТИ
Змінює існуючий веб-ресурс
ВИДАЛИТИ
Видаляє вказаний ресурс
СЛІД
Показує зміни веб-ресурсу
ОПЦІЇ
Показує доступні методи HTTP для URL-адреси
ПІДКЛЮЧАЙТЕСЯ
Перетворює підключення запиту на прозорий тунель TCP/IP
ПАТЧ
Частково модифікує веб-ресурс

Налагодження Інтернету ніколи не було таким простим. З цими інструментами ви нарешті зможете розслабитися, займаючись улюбленою справою.

HTTPie

Кінцева мета HTTPie полягає в тому, щоб зробити взаємодію CLI з інтерфейсом користувача веб-служб зручним. Цей інструмент надає команду HTTP для надсилання запитів із використанням природного синтаксису.

HTTPie можна використовувати для налагодження, тестування та підключення до HTTP-серверів. Він підтримує HTTP, HTTPS і проксі.

Основні моменти

  • Вбудована система підтримки JSON
  • Можна встановити на Windows, macOS і Linux
  • Настроювані HTTP-заголовки та метод
  • Надішліть форми
  • Автономний режим
  • Базова та дайджест-автентифікація
  • Інтуїтивно зрозумілий синтаксис

Не хочете інсталювати HTTPie локально?

Не хвилюйтеся, тепер ви можете запустити його онлайн.

Скрипаль

Скрипаль це крос-платформний веб-проксі-сервер для налагодження. Він може допомогти маніпулювати веб-сеансами, перевіряти трафік HTTPS і контролювати трафік між вашим комп’ютером та Інтернетом.

Ви можете встановити Fiddler у Windows, macOS і Linux. Мабуть, це найпопулярніший інструмент для налагодження трафіку.

RESter

RESter доступний як розширення для Google Chrome і Firefox.

Основні моменти

  • Заголовки авторизації з автентифікацією Basic або Auth2
  • Переглянути історію запитів
  • Виконуйте запити з будь-яким методом, URL-адресою, тілом і спеціальними заголовками
  • Тестування та налагодження API
  Як виправити, що Netflix не завантажується на Sony Smart TV

Лапа

Лапа це повнофункціональний HTTP-клієнт, який дозволяє надсилати будь-які види HTTP-запитів. За допомогою Paw ви можете тестувати свої API, а також досліджувати нові.

Paw створено виключно для macOS і має прості у використанні функції. Ви можете імпортувати та генерувати swagger, RAML тощо, і він підтримує схему JSON.

Основні моменти

  • Підтримує кілька автентифікацій, таких як базова, OAuth, hawk, дайджест
  • Динамічні значення
  • Середовища
  • Розширення за допомогою розширень на основі java-script
  • Файли cookie та маніпуляції сеансами

Запитувач

Запитувач це надійний клієнт, який поєднує функції HTTPie, Postman і Paw. Він працює лише з редактором Sublime Text.

Основні моменти

  • Підтримує JSON Schemer
  • Запитувати колекції та історію
  • Кольоровий вихід із підсвічуванням синтаксису
  • Сучасний UX
  • Файли cookie, спеціальні заголовки, тіло запиту та параметри запиту легко налаштувати.
  • Підтримка GraphQL

Листоноша

Завжди працюєте над API?

Ти закохаєшся в Листоношу.

Листоноша безсумнівно, є одним із найпопулярніших HTTP-клієнтів, які використовуються для налагодження веб-додатків. Це дозволяє швидше та легше розробляти API.

Основні моменти

  • Має потужний графічний інтерфейс зі зручним інтерфейсом
  • Історія запитів
  • Автоматизоване тестування з програмою збору даних
  • Гнучкий моніторинг API
  • Підтримка REST, GraphQL, SOAP
  • Підтримка кількох корисних навантажень, включаючи JSON і HTML

cURL

cURL — це інструмент командного рядка, який використовується для надсилання даних за допомогою синтаксису URL-адреси.

Добре, що cURL за замовчуванням встановлено на більшості операційних систем UNIX. Він підтримує багато протоколів, включаючи FTP, LDAP, POP3, SMTP, GOPHER, IMAP, HTTP, HTTPS і SCP.

Чарльз Проксі

Як говорить назва, Чарльз проксі є HTTP і зворотним проксі. Він працює шляхом маршрутизації місцевого трафіку через нього.

Ви можете використовувати Charles для проксі-сервера SSL, обмеження пропускної здатності, налагодження AJAX, точок зупину тощо.

Свисток

Свисток це кросплатформний інструмент налагодження на основі NodeJS для захоплення та керування трафіком HTTP, HTTPS, WebSocket і TCP.

  Вступ до AppleScript

Спочатку вам потрібно встановити NodeJS, а потім Whistle за допомогою npm.

npm install -g whistle

Ви завжди можете розширити функції за допомогою плагіна, якщо стандартні функції не відповідають вашим вимогам.

mitmproxy

mitmproxy є популярним HTTPS-проксі з відкритим кодом серед дослідників безпеки. Використовуйте його як CLI, веб або API Python.

Веб-інтерфейс надає вам зовнішній вигляд інструментів розробника Chrome. Він також підтримує HTTP/2.

Проксімен

Подібно до вищезгаданої Лапи, Проксімен це проксі-сервер преміум-класу для веб-налагодження macOS.

Він діє як «людина посередині» для веб-трафіку та пропонує багато функцій, зокрема такі.

  • SSL проксі
  • Повторні запити
  • Протобуф
  • Перепишіть сценарій
  • Місцева та віддалена карта
  • Фільтрація вмісту
  • Підсвічування синтаксису

Інтерфейс Proxyman дуже зручний для людей.

HTTP Toolkit

HTTP Toolkit є налагоджувачем HTTP з відкритим кодом. Це настільна програма, доступна для Windows, Mac і Linux.

На відміну від інших налагоджувачів HTTP, HTTP Toolkit забезпечує автоматичне цільове перехоплення для конкретних клієнтів, включаючи налаштування HTTPS, замість того, щоб перехоплювати все з усього вашого комп’ютера, таким чином уникаючи перехоплення нерелевантного трафіку або порушення роботи інших програм.

Одним клацанням миші ви можете перехоплювати вікна веб-переглядача (включаючи Chrome, Firefox тощо), серверні мови/мови сценаріїв, як-от Node.js, Python і PHP, будь-які інструменти командного рядка, програми Electron або пристрої та емулятори Android (включаючи системні рівень перехоплення HTTPS).

HTTP Toolkit підтримує стандартні функції налагоджувача HTTP, включаючи точки зупину та перезапис трафіку HTTP(S), фільтрацію та пошук зібраного трафіку, а також виділення та автоформатування для багатьох популярних форматів тіла запиту та відповіді. Основні функції для перехоплення, перевірки та перезапису HTTP(S) доступні безкоштовно, тоді як деякі розширені преміум-функції, такі як імпорт/експорт і автоматичні макетні правила, вимагають платного облікового запису.

Висновок

Наведені вище HTTP-клієнти та проксі-сервер веб-налагодження можуть допомогти вам багатьма способами. Більшість із них безкоштовні або пропонують пробну версію, тому спробуйте деякі з них, щоб побачити, що вам підходить.

Вдалого вирішення проблем!