Конвертувати curl у Perl
Конвертуйте команди curl у код Perl за допомогою LWP::UserAgent. curl2code працює повністю у вашому браузері через WebAssembly — ваші дані залишаються приватними. Для Python спробуйте наш конвертер curl у Python. Для Ruby дивіться curl у Ruby. Нижче наведено готові до використання приклади на Perl.
Як скопіювати curl з вашого браузера
- 1
Відкрийте DevTools
Натисніть F12 або Ctrl+Shift+I, щоб відкрити інструменти розробника у вашому браузері.
- 2
Перейдіть на вкладку Network
Натисніть на вкладку Network і виконайте дію, яка ініціює HTTP-запит.
- 3
Скопіюйте як cURL
Клацніть правою кнопкою миші на запит → Copy → Copy 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
Знайдіть будь-який код завершення curl — причини, виправлення та поради з налагодження.
Завантаження файлів за допомогою curl
Зберігайте файли з -o, -O, слідкуйте за перенаправленнями, відновлюйте завантаження та інше.
SSL, TLS та проксі
Налаштування сертифікатів, версій TLS, HTTP/SOCKS-проксі та власного DNS.