Tukar curl ke Perl

Tukar arahan curl kepada kod Perl menggunakan LWP::UserAgent. curl2code berjalan sepenuhnya dalam pelayar anda melalui WebAssembly — data anda kekal peribadi. Untuk Python, cuba penukar curl ke Python kami. Untuk Ruby, lihat curl ke Ruby. Di bawah adalah contoh Perl yang sedia untuk digunakan.

Cara menyalin curl daripada pelayar anda

  1. 1

    Buka DevTools

    Tekan F12 atau Ctrl+Shift+I untuk membuka alat pembangun pelayar anda.

  2. 2

    Pergi ke tab Network

    Klik tab Network dan lakukan tindakan yang mencetuskan permintaan HTTP.

  3. 3

    Salin sebagai cURL

    Klik kanan pada permintaan → CopyCopy as cURL. Kemudian tampalkannya di atas.

Soalan Lazim

Apakah itu Perl LWP?

LWP (Library for WWW in Perl) ialah pustaka klien HTTP standard untuk Perl. Modul LWP::UserAgent menyediakan klien berciri penuh dengan pengendalian kuki, lencongan, sokongan proksi, dan SSL. Pasang dengan cpan LWP atau apt install libwww-perl. curl2code menggunakan LWP sebagai lalai untuk penukaran Perl.

LWP vs HTTP::Tiny vs Mojo::UserAgent — yang mana patut digunakan?

LWP kaya dengan ciri dan merupakan pilihan tradisional. HTTP::Tiny ialah modul teras (tiada pemasangan diperlukan) — bagus untuk permintaan mudah. Mojo::UserAgent adalah moden dengan sokongan async dan WebSocket. Untuk skrip pantas, gunakan HTTP::Tiny. Untuk ciri penuh, gunakan LWP. Untuk bahasa penskripan yang serupa, lihat curl ke Python atau curl ke Ruby.

Bagaimana cara mengendalikan pengesahan dalam Perl?

Dengan LWP: $ua->default_header('Authorization' => 'Bearer token'). Untuk pengesahan Basic: $ua->credentials('host:port', 'realm', 'user', 'pass'). Atau tetapkan pengepala setiap permintaan pada objek HTTP::Request. curl2code menukar bendera -u dan -H 'Authorization' kepada sintaks Perl.

Bagaimana cara menghantar data borang multipart dalam Perl?

Gunakan HTTP::Request::Common: POST($url, Content_Type => 'form-data', Content => [file => ['path/file.pdf']]). LWP mengendalikan sempadan multipart secara automatik. Untuk medan tambahan, tambah pasangan kunci-nilai ke tatasusunan Content. curl2code menukar bendera -F kepada format ini.

Bagaimana cara mengendalikan ralat HTTP dalam Perl?

Periksa $response->is_success selepas setiap permintaan. Untuk butiran ralat: $response->status_line mengembalikan kod status dan mesej. LWP mengembalikan objek respons walaupun pada ralat — periksa $response->code untuk status HTTP. Gunakan die atau warn untuk pelaporan ralat.

Bagaimana cara menghuraikan JSON dalam Perl?

Gunakan modul JSON: my $data = decode_json($response->content). Untuk pengekodan: my $json = encode_json($hashref). Pasang dengan cpan JSON. Untuk Perl 5.14+, pertimbangkan JSON::PP (modul teras, tiada pemasangan). Untuk lebih banyak alat berpusatkan JSON, lihat curl ke Go.

Bagaimana cara menetapkan had masa tamat dalam Perl LWP?

Tetapkan pada UserAgent: my $ua = LWP::UserAgent->new(timeout => 30). Ini menetapkan had masa tamat permintaan keseluruhan dalam saat. Untuk had masa tamat sambungan secara khusus, gunakan pilihan IO::Socket::SSL. Percubaan semula LWP tidak terbina dalam — laksanakan secara manual atau gunakan LWP::UserAgent::Determined.

Bagaimana cara menggunakan proksi dalam Perl?

Tetapkan pada UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080'). Atau gunakan pembolehubah persekitaran: $ua->env_proxy membaca HTTP_PROXY dan HTTPS_PROXY. Untuk pengecualian tanpa proksi: $ua->no_proxy('localhost', '.internal'). curl2code menukar bendera -x kepada panggilan proksi LWP.

Bagaimana cara menghantar permintaan POST dengan badan JSON dalam Perl?

Tukar perintah curl POST seperti curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL ke Perl menggunakan curl2code. Kod yang dihasilkan menggunakan $ua->post($url, Content_Type => 'application/json', Content => encode_json($data)). curl2code mengesan bendera -d/--data secara automatik dengan kandungan JSON dan menetapkan pengepala Content-Type yang sesuai dalam kod LWP::UserAgent.

Bagaimana cara menambah kebenaran token Bearer dalam Perl?

Masukkan curl -H "Authorization: Bearer YOUR_TOKEN" URL ke curl2code dan ia akan menghasilkan kod LWP::UserAgent dengan pengepala auth: $req->header('Authorization' => 'Bearer YOUR_TOKEN'). curl2code mengesan token Bearer daripada kedua-dua bendera -H "Authorization: Bearer ..." dan --oauth2-bearer. Untuk Basic auth, gunakan -u user:pass.

Bagaimana cara menetapkan pengepala Content-Type dalam Perl?

curl2code menukar curl -H "Content-Type: application/json" URL kepada kod LWP::UserAgent dengan pengepala yang betul: $req->header('Content-Type' => 'application/json'). Untuk data -d, curl secara lalai menggunakan application/x-www-form-urlencoded; untuk muat naik borang -F, ia menggunakan multipart/form-data. curl2code memetakan setiap satu ke API LWP::UserAgent yang betul.

Pautan Berguna

Panduan curl

Tukar curl ke Bahasa Lain