แปลง curl เป็น Python
curl2code แปลงคำสั่ง curl เป็นโค้ด Python ที่สะอาดตาได้ทันทีโดยใช้ไลบรารี requests ยอดนิยม การแปลงทำงานในเบราว์เซอร์ของคุณทั้งหมดผ่าน WebAssembly — ข้อมูลของคุณจะไม่ถูกส่งออกจากอุปกรณ์ หากคุณทำงานกับ TypeScript ในส่วนหน้า ลองดู ตัวแปลง curl เป็น TypeScript ของเรา สำหรับ JavaScript ฝั่งเซิร์ฟเวอร์ ดูที่ curl เป็น Node.js ด้านล่างนี้คุณจะพบตัวอย่างการใช้งานจริงที่ครอบคลุมสถานการณ์ HTTP ที่พบบ่อยที่สุด
วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ
- 1
เปิด DevTools
กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์
- 2
ไปที่แท็บ Network
คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP
- 3
คัดลอกเป็น cURL
คลิกขวาที่คำขอ → Copy → Copy as cURL จากนั้นนำมาวางด้านบน
คำถามที่พบบ่อย (FAQ)
Python Requests คืออะไร?
Python Requests เป็นไลบรารี HTTP client ที่ได้รับความนิยมมากที่สุดสำหรับ Python โดยมีดาวบน GitHub มากกว่า 50,000 ดวง ให้บริการ API ที่สวยงามและเป็นแบบ Pythonic สำหรับการส่ง HTTP requests, การจัดการ sessions, cookies และการยืนยันตัวตน รองรับการแยกวิเคราะห์ JSON ในตัว, การทำ connection pooling และการถอดรหัสเนื้อหาอัตโนมัติ ติดตั้งได้ด้วย pip install requests และเป็นไลบรารีเริ่มต้นที่ curl2code ใช้สำหรับการแปลงโค้ด Python
Requests เทียบกับ http.client — ควรใช้อันไหน?
แนะนำให้ใช้ Requests สำหรับกรณีการใช้งานส่วนใหญ่เนื่องจากมี API ที่เรียบง่าย, การแยกวิเคราะห์ JSON อัตโนมัติ และการรองรับ session ในตัว ส่วน http.client เป็นส่วนหนึ่งของไลบรารีมาตรฐานของ Python และไม่ต้องติดตั้งเพิ่มเติม จึงเหมาะสำหรับสภาพแวดล้อมที่ต้องการความเรียบง่ายสูงสุด สำหรับความง่ายในลักษณะเดียวกันในภาษาอื่น โปรดดู ตัวแปลง curl เป็น Ruby หรือ ตัวแปลง curl เป็น Go
จะจัดการการยืนยันตัวตนใน Python Requests อย่างไร?
ส่ง header Authorization พร้อมกับ token ของคุณสำหรับการยืนยันตัวตนแบบ Bearer หรือใช้ requests.auth.HTTPBasicAuth(user, pass) สำหรับการยืนยันตัวตนแบบ Basic โดย curl2code จะตรวจจับรูปแบบการยืนยันตัวตนโดยอัตโนมัติ รวมถึง -u user:pass และ -H 'Authorization: Bearer ...'
จะส่งข้อมูลฟอร์มแบบ multipart ด้วย Python อย่างไร?
ใช้พารามิเตอร์ files: requests.post(url, files={ 'file': open('doc.pdf', 'rb') }) สำหรับฟิลด์ฟอร์มเพิ่มเติม ให้ใช้ data ควบคู่กันไป โดย curl2code จะจัดการแฟล็ก -F ให้โดยอัตโนมัติ
จะจัดการข้อผิดพลาดและการลองใหม่ (retries) อย่างไร?
ใช้ response.raise_for_status() เพื่อสร้าง exception เมื่อเกิดข้อผิดพลาด 4xx/5xx และครอบด้วย try/except เพื่อดักจับ requests.exceptions.RequestException สำหรับการลองใหม่ ให้ใช้ urllib3.util.Retry ร่วมกับ Session adapter
จะส่ง HTTP requests แบบ async ใน Python อย่างไร?
requests ทำงานแบบ synchronous สำหรับ HTTP แบบ async ให้ใช้ aiohttp หรือ httpx (ซึ่งมีทั้ง API แบบ sync และ async ที่เข้ากันได้กับ requests) สำหรับสถานการณ์ที่มีการเชื่อมต่อพร้อมกันจำนวนมาก async client จะให้ประสิทธิภาพ (throughput) ที่ดีกว่าอย่างมาก
จะตั้งค่า timeouts และ connection pooling อย่างไร?
ควรตั้งค่า timeout เสมอ: requests.get(url, timeout=(3.05, 27)) สำหรับ connection pooling ให้ใช้ requests.Session() ซึ่งจะนำการเชื่อมต่อ TCP กลับมาใช้ใหม่ โดยแฟล็ก --connect-timeout และ --max-time ของ curl จะถูกจับคู่กับค่าเหล่านี้
จะกำหนดค่า proxy ด้วย Python Requests อย่างไร?
ส่ง dict proxies: { 'https': 'http://proxy:8080' } สำหรับ SOCKS ให้ติดตั้ง requests[socks] นอกจากนี้ยังรองรับตัวแปรสภาพแวดล้อม HTTP_PROXY / HTTPS_PROXY โดย curl2code จะแปลง -x และ --proxy ให้โดยอัตโนมัติ
วิธีส่งคำขอ POST พร้อม JSON body ใน Python?
แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL เป็น Python โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ requests.post(url, json={'key': 'value'}) โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด Requests
วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน Python?
ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด Requests พร้อมส่วนหัวการยืนยันตัวตน: headers={'Authorization': 'Bearer YOUR_TOKEN'} โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass
วิธีตั้งค่าส่วนหัว Content-Type ใน Python?
curl2code จะแปลง curl -H "Content-Type: application/json" URL เป็นโค้ด Requests พร้อมส่วนหัวที่ถูกต้อง: headers={'Content-Type': 'application/json'} สำหรับข้อมูล -d นั้น curl จะกำหนดค่าเริ่มต้นเป็น application/x-www-form-urlencoded ส่วนการอัปโหลดฟอร์ม -F จะใช้ multipart/form-data โดย curl2code จะจับคู่แต่ละรายการเข้ากับ Requests API ที่ถูกต้อง
วิธีแปลงคำสั่ง curl เป็นโค้ด Python?
วางคำสั่ง curl ของคุณลงใน curl2code แล้วเลือก Python เครื่องมือจะแยกวิเคราะห์แฟล็กทั้งหมด — -X (method), -H (headers), -d (data), -u (auth), -F (form), cookies และอื่นๆ — และสร้างโค้ด Python Requests ที่สะอาดตา การแปลงนี้ทำงานภายในเบราว์เซอร์ของคุณผ่าน WebAssembly ดังนั้น API keys และข้อมูลของคุณจึงยังคงเป็นส่วนตัว คุณยังสามารถเลือก http.client เป็นไลบรารีทางเลือกได้อีกด้วย