dev/converter

แปลงคำขอ cURL - ฟรี ใช้งานได้ทันที | Smocky

อ่านเป็นภาษาอังกฤษ

อ่านคำสั่ง cURL (bash, zsh หรือ Windows cmd), HAR, คำขอ HTTP, ไฟล์ .http หรือ Postman collection v2.1/v2.0 ภายในเบราว์เซอร์ โดยไม่ส่งคำขอจริง โค้ดที่สร้างเป็นจุดเริ่มต้นให้ตรวจทาน ยังไม่ได้ยืนยันว่าจะทำงานเทียบเท่าไคลเอนต์เดิม

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

เหตุใดโค้ดที่สร้างจึงปิดการตาม redirect

cURL ไม่ตาม redirect เว้นแต่ใช้ -L โค้ดจึงใช้ fetch redirect: "manual", Axios maxRedirects: 0, Python allow_redirects=False, Go CheckRedirect ที่คืน http.ErrUseLastResponse และ Guzzle allow_redirects => false ส่วน HTTPie หยุดที่คำตอบแรกอยู่แล้ว เมื่อใช้ -L จึงเปิดตาม redirect สำหรับ fetch ในเบราว์เซอร์ โหมด manual ให้คำตอบ opaque แทนข้อมูล redirect โดยตรง

แปลง -k (--insecure) อย่างไร

Axios ใช้ https.Agent กับ rejectUnauthorized: false, Python ใช้ verify=False, Go ใช้ tls.Config กับ InsecureSkipVerify: true, Guzzle ใช้ verify => false และ HTTPie ใช้ --verify=no ส่วน JavaScript fetch ไม่มีการตั้งค่านี้ จึงแจ้งว่าไม่ครอบคลุม -k

ไฟล์ที่ระบุด้วย @ หรือ -F เป็นอย่างไร

ค่าเช่น -d @body.json หรือ -F [email protected] อ้างไฟล์ในเครื่องที่เครื่องมืออ่านไม่ได้ ข้อมูลไฟล์จะแสดงตำแหน่งเช่น <contents of body.json> ไฟล์ multipart เปิดตาม path ตอนรันด้วย openAsBlob ใน Node.js, open() ใน Python, os.Open ใน Go, fopen ใน PHP หรือ [email protected] ใน HTTPie ส่วน browser fetch ให้ Blob ว่างที่ทำเครื่องหมายไว้เพื่อแทนค่า ทุกการอ้างไฟล์มีคำเตือน

แทนตัวแปรเชลล์เช่น $TOKEN หรือไม่

ไม่แทน $TOKEN, ${TOKEN}, $(command), backticks และ %VAR% ของ cmd ถูกเก็บเป็นข้อความ เพราะเครื่องมือไม่รันเชลล์ แต่ละตำแหน่งจะถูกแจ้งให้แทนค่าจริงเอง

วางคำสั่งจากเชลล์ใดได้บ้าง

รองรับการครอบคำพูดของ bash/zsh รวม backslash ต่อบรรทัดและสตริง $'...' รวมถึง Windows cmd จาก Copy as cURL (cmd) ของ Chrome DevTools ที่ใช้ ^ ไม่รองรับ PowerShell เช่น Invoke-WebRequest ให้คัดลอกเป็น cURL (bash) หรือ cURL (cmd) ไม่รับ pipe, &&, ;, redirect หรือ --next เพราะหนึ่งคำสั่งต้องอธิบายคำขอเดียว

โทเคนและคุกกี้ถูกส่งไปที่ใด

อ่านคำสั่งในเบราว์เซอร์และไม่ส่งคำขอจริง Authorization, คุกกี้ และข้อมูล -u ถูกคัดลอกลงโค้ดตามเดิม เครื่องมือแจ้งเมื่อพบเพื่อให้ลบก่อนแชร์โค้ด

แปลงต้นฉบับคำขอแบบใดได้บ้าง

รองรับ cURL, HAR จาก DevTools, คำขอ HTTP, ไฟล์ .http จาก VS Code REST Client หรือ JetBrains และ Postman v2.1/v2.0 ตรวจรูปแบบอัตโนมัติและแสดงชื่อให้เห็น หากกำกวมเลือกเองได้ HAR, .http และ Postman มีหลายคำขอได้ เลือกและกรองตาม method, URL หรือชื่อ

เปิดไฟล์ HAR ที่นี่ได้อย่างไร

HAR มักมีคุกกี้และโทเคนของเซสชันจริงจึงมีคำเตือน ไฟล์ถูกอ่านในเบราว์เซอร์และไม่อัปโหลด แต่ละ entry เป็นคำขอหนึ่งรายการ ละส่วนหัว HTTP/2 เช่น :authority และ content-length ใช้ส่วนหัว Cookie แทนรายการ cookies และไม่อ่านคำตอบที่บันทึกไว้

จัดการตัวแปร การยืนยันตัวตน และสคริปต์ Postman อย่างไร

แทนตัวแปร collection ส่วน {{variable}} ที่มีเฉพาะใน environment จะคงเดิมพร้อมคำเตือน รับช่วง auth จาก folder หรือ collection แปลง basic, bearer และ API key ส่วน OAuth 1.0/2.0, digest, AWS Signature และแบบอื่นแจ้งว่าไม่แปลง ข้ามส่วนหัว query และฟิลด์ฟอร์มที่ปิดใช้ ละสคริปต์ก่อนส่งและทดสอบพร้อมคำเตือน ไม่รับ Postman v1 ให้ส่งออก v2.1

ตัวแปรและชื่อในไฟล์ .http เป็นอย่างไร

แทนตัวแปรไฟล์เช่น @host = api.example.com ใน {{host}} และใช้ # @name login เป็นชื่อคำขอ ตัวแปรพลวัตเช่น {{$guid}} หรือ {{$dotenv KEY}} ที่ไคลเอนต์สร้างตอนส่งจะคงเดิมพร้อมคำเตือน เนื้อหา < ./payload.json เป็นการอ้างไฟล์ ละสคริปต์จัดการคำตอบ และตาม redirect เว้นแต่มี # @no-redirect

คำขอ HTTP แบบดิบได้ URL มาจากไหน

ถ้าบรรทัดคำขอมี URL เต็ม เช่น GET https://api.example.com/items HTTP/1.1 จะใช้ตามนั้น หากมีเฉพาะ path เช่น POST /login HTTP/1.1 จะรวมกับ Host และสมมติ https:// พร้อมแจ้ง เพราะต้นฉบับไม่ระบุ HTTP หรือ HTTPS ละ Content-Length เพื่อให้ไคลเอนต์คำนวณใหม่

สร้างกลับเป็นคำสั่ง cURL ได้หรือไม่

ได้ เลือก cURL เป็นปลายทางเพื่อแปลง HAR, HTTP, .http หรือ Postman เป็นคำสั่ง ใช้คำพูดแบบ POSIX สำหรับ bash/zsh เป็นค่าเริ่มต้น หรือเลือก Windows cmd ที่ใช้ ^ แบบ Chrome ได้ ทั้งสองแบบนำกลับมาวางแล้วอ่านเป็นคำขอเดิมได้

มีขีดจำกัดอะไรบ้าง

ข้อความที่วางไม่เกิน 100,000 หน่วย UTF-16 ไฟล์ที่เปิดหรือลากไม่เกิน 10 MiB และ 5,000 คำขอ คำสั่งมีส่วนหัวและส่วนข้อมูลได้ 1,000 ส่วน โค้ดผลลัพธ์ไม่เกิน 1,000,000 หน่วย หากเกินจะแจ้งโดยไม่ตัดทอน ตัวเลือกที่เปลี่ยนเพียงสิ่งที่ cURL แสดง เช่น -s หรือ -o จะมีข้อสังเกตว่าไม่มีผล ตัวเลือกอื่นที่ไม่แปลงมีคำเตือน

Send feedback

About Smocky

Send this feedback to Smocky via Cloudflare, a third-party service. Only the feedback you enter is included, along with your browser information. Your tool inputs and results are never attached. Please do not include passwords or other sensitive information. Privacy policy

Feedback is unavailable right now. Your draft is still here.