Конвертувати curl у Ruby
curl2code конвертує команди curl у код Ruby за допомогою стандартної бібліотеки net/http. Усе виконується локально у вашому браузері через WebAssembly для повної приватності. Якщо ви віддаєте перевагу Python, перегляньте наш конвертер curl у Python. Для Elixir дивіться curl у Elixir. Нижче наведено практичні приклади на Ruby.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy as cURL. Потім вставте його вище.
Часті запитання
Що таке Ruby net/http?
Ruby net/http — це HTTP-клієнт стандартної бібліотеки, включений у кожну інсталяцію Ruby. Він обробляє GET, POST, multipart завантаження, SSL та кастомні заголовки. Встановлення gem не потрібне. curl2code також підтримує HTTParty — популярний gem, що спрощує типові HTTP-шаблони за допомогою чистого декларативного API.
net/http проти HTTParty проти Faraday — що варто використовувати?
net/http вбудована і не має залежностей — чудово підходить для простих завдань і скриптів. HTTParty надає чистий DSL з автоматичним парсингом JSON. Faraday пропонує middleware, шаблони адаптерів та найбільшу гнучкість. Для подібної простоти скриптів дивіться наш конвертер curl у Python або конвертер curl у PHP.
Як керувати автентифікацією в Ruby?
З net/http: request["Authorization"] = "Bearer token". Для Basic-автентифікації: request.basic_auth("user", "pass"). HTTParty використовує headers: { "Authorization" => "Bearer token" } або basic_auth: { username: "user", password: "pass" }. curl2code обробляє як -u, так і прапорці заголовків.
Як надіслати multipart дані форми в Ruby?
З net/http використовуйте gem multipart-post або створюйте тіло multipart вручну, використовуючи Net::HTTP::Post з рядками меж. HTTParty спрощує це за допомогою body: { file: File.open("path") }. curl2code конвертує прапорці -F для обох варіантів бібліотек.
Як обробляти помилки HTTP в Ruby?
З net/http перевіряйте response.is_a?(Net::HTTPSuccess) або використовуйте response.value, що викликає виняток при статусі, відмінному від 2xx. HTTParty повертає об'єкт відповіді з методами .success? та .code. Для стійких з'єднань перехоплюйте Errno::ECONNREFUSED та Net::ReadTimeout.
Як робити конкурентні HTTP-запити в Ruby?
Стандартна бібліотека Ruby є синхронною. Використовуйте Thread.new { ... } для базової конкурентності або gem concurrent-ruby для пулів потоків. Для асинхронного I/O використовуйте async-http з gem Async. Typhoeus забезпечує паралельну чергу запитів. Для вбудованої підтримки асинхронності дивіться curl у Elixir.
Як встановити таймаути в Ruby?
З net/http: http.open_timeout = 10 (з'єднання) та http.read_timeout = 30 (відповідь). HTTParty приймає опцію timeout: 30. Вони відображаються на curl --connect-timeout та --max-time. Завжди встановлюйте таймаути, щоб уникнути нескінченного зависання запитів.
Як використовувати проксі в Ruby?
З net/http: Net::HTTP.new(host, port, proxy_host, proxy_port). Або встановіть змінні середовища http_proxy та https_proxy — Ruby підтримує їх автоматично. HTTParty використовує опцію http_proxy: 'http://proxy:8080'. curl2code конвертує прапорці -x у правильний синтаксис Ruby.
Як надіслати POST-запит із тілом JSON у Ruby?
Конвертуйте команду curl POST, таку як curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, у Ruby за допомогою curl2code. Згенерований код використовує Net::HTTP.post(uri, data.to_json, 'Content-Type' => 'application/json'). curl2code автоматично виявляє прапорці -d/--data із вмістом JSON і встановлює відповідний заголовок Content-Type у коді net/http.
Як додати авторизацію за допомогою Bearer-токена у Ruby?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код net/http із заголовком авторизації: req['Authorization'] = 'Bearer YOUR_TOKEN'. curl2code виявляє Bearer-токени як у прапорцях -H "Authorization: Bearer ...", так і в --oauth2-bearer. Для Basic auth використовуйте -u user:pass.
Як встановити заголовок Content-Type у Ruby?
curl2code конвертує curl -H "Content-Type: application/json" URL у код net/http із відповідним заголовком: req['Content-Type'] = 'application/json'. Для даних -d curl за замовчуванням використовує application/x-www-form-urlencoded; для завантаження форм -F використовується multipart/form-data. curl2code зіставляє кожен варіант із правильним net/http API.
Корисні посилання
Посібники з curl
Коди помилок curl
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.