วิธีใช้ข้อมูลโพสต์ cURL จากไฟล์

How Use Curl Post Data From File



cURL เป็นยูทิลิตีบรรทัดคำสั่งโอเพ่นซอร์สฟรีที่ใช้สำหรับการถ่ายโอนข้อมูลไปยังหรือจากโฮสต์ระยะไกลโดยมีการโต้ตอบกับผู้ใช้น้อยที่สุด cURL ทำงานร่วมกับโปรโตคอลหลัก เช่น HTTP, FTP, SCP และ SFTP

อนุญาตให้ผู้ใช้อัปโหลดและดาวน์โหลดข้อมูลโดยใช้คำสั่งเดียวหรือสคริปต์ทุบตี นอกจากนี้ยังมีคุณลักษณะต่างๆ เช่น การตรวจสอบสิทธิ์ผู้ใช้ อุโมงค์ข้อมูลพร็อกซี ประวัติการดาวน์โหลด การอัปโหลดตามแบบฟอร์ม ใบรับรอง SSL และอื่นๆ อีกมากมาย พูดได้อย่างปลอดภัยว่า cURL เป็นมากกว่าไคลเอนต์ HTTP







บทแนะนำนี้จะแนะนำคุณเกี่ยวกับฟังก์ชัน cURL เดียวที่อนุญาตให้ผู้ใช้ดำเนินการตามคำขอโพสต์ HTTP โดยใช้ข้อมูลไฟล์



ก่อนที่เราจะเริ่มต้น ให้ฉันพูดถึงว่านี่ไม่ใช่คู่มือเริ่มต้นสำหรับ cURL; คุณต้องมีความรู้ความชำนาญในระดับหนึ่ง โดยเฉพาะอย่างยิ่งความรู้เกี่ยวกับโปรโตคอลเครือข่าย คำขอ HTTP และอื่นๆ



ก่อนที่เราจะดำดิ่งสู่การใช้ cURL เพื่อดำเนินการตามคำขอ POST ให้เราตั้งค่าก่อน





วิธีการติดตั้ง cURL

ในกรณีส่วนใหญ่ คุณจะพบ cURL ติดตั้งอยู่ในลีนุกซ์รุ่นหลักๆ ตามค่าเริ่มต้น เพื่อยืนยันว่าคุณมี cURL ให้ใช้คำสั่ง

ขด – ช่วย

หากคุณได้รับข้อผิดพลาด:



-bash: ขด:สั่งการไม่พบ

คุณจะต้องติดตั้งก่อนดำเนินการต่อ

ใช้ตัวจัดการแพ็คเกจเริ่มต้นเพื่อทำการติดตั้งให้เสร็จสิ้นตามที่แสดงในคำสั่งด้านล่าง:

sudo apt-get update

sudo apt-get installcurl-และ

ก่อนที่จะพูดถึงวิธีการ POST ข้อมูลจากไฟล์ด้วย cURL ให้ฉันพูดถึงคำขอ POST อย่างคร่าวๆ เช่นเคย หากคุณคุ้นเคยกับสิ่งนี้แล้ว คุณสามารถข้ามไปข้างหน้าได้ตามสบาย มิฉะนั้นติดรอบ

cURL POST คำขอ

คำขอโพสต์ HTTP เป็นหนึ่งในวิธีคำขอ HTTP/HTTPS ที่ได้รับความนิยมมากที่สุดที่ใช้ในการส่งข้อมูลไปยังโฮสต์ระยะไกลเพื่อสร้างหรืออัปเดตทรัพยากร

ตอนนี้ :

โปรดอย่าสับสนระหว่างวิธีการกับ PUT; แม้ว่าจะค่อนข้างคล้ายกัน แต่ก็มีความแตกต่างกัน

ข้อมูลที่ส่งโดยใช้คำขอ POST ส่วนใหญ่จะถูกเก็บไว้ในเนื้อหาคำขอของคำขอ HTTP

ตัวอย่างเช่น พิจารณาคำขอ POST ด้านล่างที่ส่งชื่อผู้ใช้และรหัสผ่านตลอดจนค่าของพวกเขา

โพสต์/ถูก จำกัด/login.php HTTP/1.1โฮสต์: linuxhint.com ประเภทเนื้อหา: application/x-www-form-urlencodedชื่อผู้ใช้=linuxhint&รหัสผ่าน=รหัสผ่าน

ในการส่งคำขอ POST ด้านบนโดยใช้ cURL เราสามารถระบุคำสั่งเป็น:

curl-NSโพสต์-NS ชื่อผู้ใช้=linuxhint&รหัสผ่าน=รหัสผ่าน https://linuxhint.com/ถูก จำกัด/เข้าสู่ระบบ.php

ในคำสั่งข้างต้น เราใช้ตัวเลือก -d เพื่อบอกให้ cURL รวมส่วนหัวเริ่มต้น ซึ่งก็คือ Content-Type: application/x-www-form-urlencoded

อ็อพชัน -X ระบุวิธีการร้องขอ HTTP ที่จะใช้ ในกรณีนี้ การร้องขอ HTTP POST

cURL ระบุประเภทเนื้อหา

ในบางกรณี เราอาจต้องการระบุ [อย่างชัดแจ้ง] ประเภทเนื้อหาเมื่อส่งคำขอ เอนทิตีประเภทเนื้อหาในส่วนหัวระบุประเภทของสื่อของทรัพยากรที่เรากำลังส่ง ประเภทสื่อเรียกอีกอย่างว่าประเภท MIME

หากคุณต้องการเรียนรู้เกี่ยวกับประเภท MIME ให้พิจารณาแหล่งข้อมูลด้านล่าง:

https://linkfy.to/IANA-MIME-Types

ในการระบุประเภทเนื้อหาในคำขอ cURL เราสามารถใช้แฟล็ก -H ตัวอย่างเช่น ให้เราส่ง MIME Type of application/JSON

curl-NSโพสต์-NS {ชื่อผู้ใช้: linuxhint, รหัสผ่าน: รหัสผ่าน} -ชมประเภทเนื้อหา: แอปพลิเคชัน/json https://linuxhint.com/ถูก จำกัด/เข้าสู่ระบบ.php

ด้านบนระบุว่าเราต้องการส่งออบเจ็กต์ JSON ไปยัง URL ที่ให้มา คุณสามารถใช้สิ่งนี้เพื่ออ่านค่าจากไฟล์ JSON หรือส่งเป็นไฟล์ดิบ

วิธีอ่านข้อมูลจากไฟล์

สมมติว่าคุณต้องการส่งคำขอในบรรทัดคำสั่งโดยใช้ cURL แต่คุณมีข้อมูลที่จะส่งเก็บไว้ในไฟล์ คุณสามารถใช้ Content-Type เพื่อระบุประเภทสื่อ จากนั้นส่งเส้นทางไฟล์ที่มีข้อมูล สำหรับตัวอย่างนี้ ฉันจะอธิบายโดยใช้วัตถุ JSON

ไฟล์ JSON (data.json) มีค่าต่อไปนี้:

{
'ชื่อผู้ใช้':'ลินุกซ์ชิน',
'รหัสผ่าน':'รหัสผ่าน'
}

ในการส่งข้อมูลนี้จากไฟล์ JSON เราสามารถใช้ -d แล้วส่งชื่อไฟล์ตามที่แสดงในคำสั่งด้านล่าง:

curl-NSโพสต์-ชมประเภทเนื้อหา: แอปพลิเคชัน/json-NS @data.json https://linuxhint.com/ถูก จำกัด/เข้าสู่ระบบ.php

คุณยังสามารถใช้ตัวเลือก –data-binary

curl-NSโพสต์-ชมประเภทเนื้อหา: แอปพลิเคชัน/json--data-ไบนารี @ /บ้าน/ผู้ใช้/data.json https://linuxhint.com/ถูก จำกัด/เข้าสู่ระบบ.php

คุณยังสามารถใช้ไฟล์ข้อความเพื่อส่งข้อมูล ทั้งหมดที่คุณต้องระบุคือ Content-Type เป็นข้อความ/ธรรมดา

ตัวอย่างเช่น ไฟล์ข้อความ (data.txt) ที่มีค่าต่อไปนี้

ชื่อผู้ใช้=linuxhint&รหัสผ่าน=รหัสผ่าน

ใช้คำสั่ง cURL เพียงส่งคำขอเป็น:

curl-NSโพสต์-ชมเนื้อหา-ประเภท: text/ธรรมดา-NSdata.txt https://linuxhint.com/ถูก จำกัด/เข้าสู่ระบบ.php

คุณสามารถใช้ไฟล์ประเภทอื่นๆ ที่คุณสามารถใช้ได้ เช่น XML, HTML และอื่นๆ อีกมากมาย

บทสรุป

ในบทช่วยสอนนี้ เราได้พูดถึงวิธีการส่งคำขอ POST และส่งผ่านข้อมูลในรูปแบบต่างๆ โปรดจำไว้ว่านอกจากจะมีประสิทธิภาพมากแล้ว cURL ยังมีความยืดหยุ่นสูงอีกด้วย มันสามารถรวมชุดของตัวเลือกในคำสั่งเดียวเพื่อสร้างคำขอที่ทรงพลัง สำหรับข้อมูลเพิ่มเติม ฉันแนะนำเอกสาร cURL ตามที่เขียนไว้อย่างดี

https://curl.se/docs/

ขอบคุณสำหรับการอ่านและขอให้สนุกกับ cURL