Конвертировать 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 vs HTTP::Tiny vs 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 form data в 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. Для исключений (no-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 token на Perl?
Передайте curl -H "Authorization: Bearer YOUR_TOKEN" URL в curl2code, и инструмент сгенерирует код LWP::UserAgent с заголовком авторизации: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code распознает Bearer tokens как в флагах -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 сопоставляет каждый вариант с подходящим API LWP::UserAgent.