แปลง 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 จากนั้นนำมาวางด้านบน

คำถามที่พบบ่อย (FAQ)

Perl LWP คืออะไร?

LWP (Library for WWW in Perl) เป็นไลบรารี HTTP client มาตรฐานสำหรับ Perl โมดูล LWP::UserAgent มีฟีเจอร์ครบถ้วนทั้งการจัดการคุกกี้, การ redirect, การรองรับ proxy และ SSL ติดตั้งด้วย cpan LWP หรือ apt install libwww-perl โดย curl2code ใช้ LWP เป็นค่าเริ่มต้นสำหรับการแปลงเป็น Perl

LWP vs HTTP::Tiny vs Mojo::UserAgent — ควรใช้อันไหน?

LWP มีฟีเจอร์ครบครันและเป็นตัวเลือกดั้งเดิม HTTP::Tiny เป็นโมดูลหลัก (ไม่ต้องติดตั้ง) — เหมาะสำหรับ request ง่ายๆ Mojo::UserAgent ทันสมัยพร้อมรองรับ async และ 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') หรือตั้งค่า headers ราย request ในออบเจกต์ 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 boundaries ให้โดยอัตโนมัติ สำหรับฟิลด์เพิ่มเติม ให้เพิ่มคู่คีย์-ค่าลงในอาเรย์ Content โดย curl2code จะแปลงแฟล็ก -F เป็นรูปแบบนี้

จะจัดการข้อผิดพลาด HTTP ใน Perl ได้อย่างไร?

ตรวจสอบ $response->is_success หลังการเรียกแต่ละครั้ง สำหรับรายละเอียดข้อผิดพลาด: $response->status_line จะคืนค่า status code และข้อความ LWP จะคืนค่าออบเจกต์ response เสมอแม้เกิดข้อผิดพลาด — ให้ตรวจสอบ $response->code สำหรับสถานะ HTTP ใช้ die หรือ warn เพื่อรายงานข้อผิดพลาด

จะ parse JSON ใน Perl ได้อย่างไร?

ใช้โมดูล JSON: my $data = decode_json($response->content) สำหรับการเข้ารหัส: my $json = encode_json($hashref) ติดตั้งด้วย cpan JSON สำหรับ Perl 5.14+ ให้พิจารณา JSON::PP (โมดูลหลัก ไม่ต้องติดตั้ง) สำหรับเครื่องมือที่เน้น JSON มากกว่านี้ ดูได้ที่ curl เป็น Go

จะตั้งค่า timeout ใน Perl LWP ได้อย่างไร?

ตั้งค่าที่ UserAgent: my $ua = LWP::UserAgent->new(timeout => 30) ซึ่งจะเป็นการตั้งค่า timeout รวมของ request เป็นวินาที สำหรับ timeout การเชื่อมต่อโดยเฉพาะ ให้ใช้ตัวเลือก IO::Socket::SSL ส่วนการลองใหม่ (retries) ของ LWP ไม่ได้มีมาให้ในตัว — ต้องเขียนเองหรือใช้ LWP::UserAgent::Determined

จะใช้ proxy ใน Perl ได้อย่างไร?

ตั้งค่าที่ UserAgent: $ua->proxy(['http', 'https'], 'http://proxy:8080') หรือใช้ตัวแปรสภาพแวดล้อม: $ua->env_proxy จะอ่านค่าจาก HTTP_PROXY และ HTTPS_PROXY สำหรับข้อยกเว้นไม่ใช้ proxy: $ua->no_proxy('localhost', '.internal') โดย curl2code จะแปลงแฟล็ก -x เป็นการเรียก proxy ของ LWP

วิธีส่งคำขอ POST พร้อม JSON body ใน 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 จะจับคู่แต่ละรายการเข้ากับ LWP::UserAgent API ที่ถูกต้อง

ลิงก์ที่มีประโยชน์

คู่มือ curl

แปลง curl เป็นภาษาอื่น