Конвертувати curl у Perl

Конвертуйте команди curl у код Perl за допомогою LWP::UserAgent. curl2code працює повністю у вашому браузері через WebAssembly — ваші дані залишаються приватними. Для Python спробуйте наш конвертер curl у Python. Для Ruby дивіться curl у Ruby. Нижче наведено готові до використання приклади на Perl.

Як скопіювати curl з вашого браузера

  1. 1

    Відкрийте DevTools

    Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.

  2. 2

    Перейдіть на вкладку Network

    Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.

  3. 3

    Скопіюйте як cURL

    Клацніть правою кнопкою миші на запит → CopyCopy as cURL. Потім вставте його вище.

Часті запитання

Що таке Perl LWP?

LWP (Library for WWW in Perl) — це стандартна бібліотека HTTP-клієнта для Perl. Модуль LWP::UserAgent надає повнофункціональний клієнт із обробкою файлів cookie, перенаправленнями, підтримкою проксі та SSL. Встановіть за допомогою cpan LWP або apt install libwww-perl. curl2code використовує LWP за замовчуванням для перетворень у Perl.

LWP проти HTTP::Tiny проти Mojo::UserAgent — що вибрати?

LWP — багатофункціональний і традиційний вибір. HTTP::Tiny — це основний модуль (не потребує встановлення), чудовий для простих запитів. Mojo::UserAgent — сучасний, із підтримкою асинхронності та WebSocket. Для швидких скриптів використовуйте HTTP::Tiny. Для повного набору функцій — LWP. Для подібних мов сценаріїв дивіться curl у Python або curl у Ruby.

Як обробляти автентифікацію в Perl?

З LWP: $ua->default_header('Authorization' => 'Bearer token'). Для Basic-автентифікації: $ua->credentials('host:port', 'realm', 'user', 'pass'). Або встановлюйте заголовки для кожного запиту в об'єкті HTTP::Request. curl2code перетворює прапорці -u та -H 'Authorization' у синтаксис Perl.

Як надіслати дані форми multipart в Perl?

Використовуйте HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP автоматично обробляє межі multipart. Для додаткових полів додайте пари ключ-значення в масив Content. curl2code перетворює прапорці -F у цей формат.

Як обробляти помилки HTTP в Perl?

Перевіряйте $response->is_success після кожного запиту. Для деталей помилки: $response->status_line повертає код статусу та повідомлення. LWP повертає об'єкт відповіді навіть при помилках — перевіряйте $response->code для отримання статусу HTTP. Використовуйте die або warn для звітування про помилки.

Як парсити JSON у Perl?

Використовуйте модуль JSON: my $data = decode_json($response->content). Для кодування: my $json = encode_json($hashref). Встановіть за допомогою cpan JSON. Для Perl 5.14+ розгляньте JSON::PP (основний модуль, не потребує встановлення). Для інструментів, орієнтованих на JSON, дивіться curl у Go.

Як встановити таймаути в Perl LWP?

Встановіть у UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Це встановлює загальний таймаут запиту в секундах. Для таймауту з'єднання використовуйте опції IO::Socket::SSL. Повторні спроби в LWP не вбудовані — реалізуйте їх вручну або використовуйте LWP::UserAgent::Determined.

Як використовувати проксі в Perl?

Встановіть у UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). Або використовуйте змінні середовища: $ua->env_proxy зчитує HTTP_PROXY та HTTPS_PROXY. Для винятків без проксі: $ua->no_proxy('localhost', '.internal'). curl2code перетворює прапорці -x у виклики проксі LWP.

Як надіслати POST-запит із тілом JSON у Perl?

Конвертуйте команду curl POST, таку як curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL, у Perl за допомогою curl2code. Згенерований код використовує $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). curl2code автоматично виявляє прапорці -d/--data із вмістом JSON і встановлює відповідний заголовок Content-Type у коді LWP::UserAgent.

Як додати авторизацію за допомогою Bearer-токена у Perl?

Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL у curl2code, і він згенерує код LWP::UserAgent із заголовком авторизації: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code виявляє Bearer-токени як у прапорцях -H "Authorization: Bearer ...", так і в --oauth2-bearer. Для Basic auth використовуйте -u user:pass.

Як встановити заголовок Content-Type у Perl?

curl2code конвертує curl -H "Content-Type: application/json" URL у код LWP::UserAgent із відповідним заголовком: $req->header('Content-Type' => 'application/json'). Для даних -d curl за замовчуванням використовує application/x-www-form-urlencoded; для завантаження форм -F використовується multipart/form-data. curl2code зіставляє кожен варіант із правильним LWP::UserAgent API.

Корисні посилання

Посібники з curl

Конвертувати curl в інші мови