Конвертиране на 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 предоставя пълнофункционален клиент с управление на бисквитки, пренасочвания, поддръжка на прокси и 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 auth: $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. За изключения без прокси: $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 токени както от -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.