แปลง curl เป็น Lua

curl2code แปลงคำสั่ง curl เป็นโค้ด Lua โดยใช้ไลบรารี http การแปลงทำงานในเบราว์เซอร์ของคุณผ่าน WebAssembly เพื่อความเป็นส่วนตัวที่สมบูรณ์ สำหรับ Python ตรวจสอบ ตัวแปลง curl เป็น Python ของเรา สำหรับ Ruby ดูที่ curl เป็น Ruby ด้านล่างนี้คือตัวอย่าง Lua ที่ใช้งานได้จริง

วิธีคัดลอก curl จากเบราว์เซอร์ของคุณ

  1. 1

    เปิด DevTools

    กด F12 หรือ Ctrl+Shift+I เพื่อเปิดเครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ของเบราว์เซอร์

  2. 2

    ไปที่แท็บ Network

    คลิกแท็บ Network และดำเนินการที่ทริกเกอร์คำขอ HTTP

  3. 3

    คัดลอกเป็น cURL

    คลิกขวาที่คำขอ → CopyCopy as cURL จากนั้นนำมาวางด้านบน

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

Lua http คืออะไร?

lua-http (หรือ socket.http จาก LuaSocket) เป็นวิธีมาตรฐานในการทำ HTTP request ใน Lua โดยมีเมธอดพื้นฐานอย่าง GET, POST และเมธอดแบบกำหนดเอง สำหรับฟีเจอร์ที่มากขึ้น lua-resty-http เป็นที่นิยมในสภาพแวดล้อม OpenResty/Nginx ติดตั้งด้วย luarocks install http โดย curl2code จะสร้างโค้ดโดยใช้โมดูล http

socket.http vs lua-resty-http vs lua-curl — ควรใช้อันไหน?

socket.http (LuaSocket) เป็นมาตรฐานสำหรับ Lua ทั่วไป lua-resty-http สำหรับ OpenResty/Nginx พร้อม non-blocking I/O lua-curl ครอบ libcurl เพื่อการรองรับโปรโตคอลที่สมบูรณ์ ใช้ socket.http สำหรับสคริปต์ทั่วไป และ resty-http สำหรับเว็บเซิร์ฟเวอร์ สำหรับการเขียนสคริปต์ที่คล้ายกัน ดูได้ที่ curl เป็น Python หรือ curl เป็น Ruby

จะจัดการการยืนยันตัวตนใน Lua ได้อย่างไร?

ตั้งค่า Authorization header ในตาราง headers: headers = { Authorization = "Bearer token" } สำหรับ Basic auth ให้เข้ารหัสด้วยไลบรารี base64: "Basic " .. base64.encode(user .. ":" .. pass) และส่ง headers ในตารางตัวเลือกของ request โดย curl2code จะจัดการแฟล็ก -u และ header ให้

จะส่งข้อมูลแบบ multipart form data ใน Lua ได้อย่างไร?

สร้าง multipart body ด้วยตนเองพร้อม boundary strings หรือใช้ไลบรารีช่วยอย่าง multipart-post ตั้งค่า Content-Type header พร้อมระบุ boundary โดย http.request ของ LuaSocket รองรับ source function สำหรับการทำ streaming อัปโหลดไฟล์ขนาดใหญ่ curl2code จะแปลงแฟล็ก -F เป็นไวยากรณ์ Lua

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

http.request ของ LuaSocket จะคืนค่าหลายตัว: body, code, headers, status = http.request(url) ให้ตรวจสอบ code สำหรับสถานะ HTTP (200, 404 ฯลฯ) หรือ nil เมื่อเครือข่ายล้มเหลว ใช้รูปแบบ assert() หรือ if not body then ของ Lua เพื่อตรวจสอบข้อผิดพลาด

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

ใช้โมดูล cjson (เร็ว, เขียนด้วย C): local data = cjson.decode(json_string) สำหรับการเข้ารหัส: cjson.encode(table) ใน OpenResty จะมี cjson ติดตั้งมาให้แล้ว สำหรับ Lua ทั่วไป ติดตั้งด้วย luarocks install lua-cjson หรืออาจใช้ dkjson ที่เป็น pure-Lua

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

หากใช้ LuaSocket: ตั้งค่า http.TIMEOUT = 30 แบบ global หรือสร้างการเชื่อมต่อแบบกำหนดเองแล้วเรียก :settimeout(30) ใน lua-resty-http ให้ใช้ httpc:set_timeout(30000) (มิลลิวินาที) การตั้งค่า timeout จะช่วยป้องกันไม่ให้สคริปต์ค้างเมื่อเซิร์ฟเวอร์ไม่ตอบสนอง

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

หากใช้ LuaSocket ให้ตั้งค่าฟิลด์ proxy ในตัวเลือกของ request: http.request{ url = target, proxy = "http://proxy:8080" } สำหรับ lua-resty-http ให้เชื่อมต่อกับ proxy โดยตรงและใช้เมธอด CONNECT สำหรับ HTTPS tunneling โดย curl2code จะแปลงแฟล็ก -x เป็นการตั้งค่า proxy ของ Lua ที่เหมาะสม

วิธีส่งคำขอ POST พร้อม JSON body ใน Lua?

แปลงคำสั่ง curl POST เช่น curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL เป็น Lua โดยใช้ curl2code โค้ดที่สร้างขึ้นจะใช้ http.request(url, json_body, headers) โดย curl2code จะตรวจจับแฟล็ก -d/--data ที่มีเนื้อหา JSON โดยอัตโนมัติ และตั้งค่าส่วนหัว Content-Type ที่เหมาะสมในโค้ด http

วิธีเพิ่มการยืนยันตัวตนด้วย Bearer token ใน Lua?

ส่ง curl -H "Authorization: Bearer YOUR_TOKEN" URL ไปยัง curl2code และเครื่องมือจะสร้างโค้ด http พร้อมส่วนหัวการยืนยันตัวตน: headers['Authorization'] = 'Bearer YOUR_TOKEN' โดย curl2code จะตรวจจับ Bearer tokens จากทั้งแฟล็ก -H "Authorization: Bearer ..." และ --oauth2-bearer สำหรับ Basic auth ให้ใช้ -u user:pass

วิธีตั้งค่าส่วนหัว Content-Type ใน Lua?

curl2code จะแปลง curl -H "Content-Type: application/json" URL เป็นโค้ด http พร้อมส่วนหัวที่ถูกต้อง: headers['Content-Type'] = 'application/json' สำหรับข้อมูล -d นั้น curl จะกำหนดค่าเริ่มต้นเป็น application/x-www-form-urlencoded ส่วนการอัปโหลดฟอร์ม -F จะใช้ multipart/form-data โดย curl2code จะจับคู่แต่ละรายการเข้ากับ http API ที่ถูกต้อง

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

คู่มือ curl

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