Elixir:
ส่งคำขอ HTTP
วิธีการ:
ใช้ไลบรารี HTTPoison
ของ Elixir มันเรียบง่าย ใช้งานง่าย และทำงานได้ดี
- เพิ่ม HTTPoison ในไฟล์
mix.exs
ของโปรเจค:
defp deps do
[
{:httpoison, "~> 1.8"}
]
end
รันคำสั่ง
mix deps.get
ในเทอร์มินัลเพื่อดึง dependency ที่ต้องการตอนนี้คุณพร้อมที่จะส่งคำขอ GET แล้ว:
case HTTPoison.get("https://jsonplaceholder.typicode.com/posts/1") do
{:ok, %HTTPoison.Response{status_code: 200, body: body}} ->
IO.inspect(body) # คุณได้ข้อมูลของคุณแล้ว!
{:error, %HTTPoison.Error{reason: reason}} ->
IO.inspect(reason) # จัดการกับข้อผิดพลาด
end
ผลลัพธ์ตัวอย่าง: สตริง JSON ของข้อมูลโพสต์จาก API placeholder
การทำความลึก
ในอดีต คุณอาจใช้ :httpc
ที่มาพร้อมกับ Erlang/OTP หรือ HTTPotion
ของ Elixir HTTPoison ได้รับความนิยมมากขึ้นในขณะนี้ ด้วย syntax ที่เรียบง่ายและสร้างบน Hackney ไคลเอ็นต์ HTTP ที่แข็งแกร่งสำหรับ Erlang
ทางเลือกอื่นๆ กับ HTTPoison ได้แก่ Tesla – ไคลเอ็นต์ HTTP ที่ยืดหยุ่นพร้อมการสนับสนุน middleware และ Mint – ไคลเอ็นต์ HTTP ระดับต่ำที่เหมาะสม
ในเชิงการเนินงาน ไลบรารีเหล่านี้จัดการกับการรวม connection, SSL และความคงอยู่ของการเชื่อมต่อ ซึ่งเป็นเรื่องยากแต่จำเป็นสำหรับคำขอ HTTP ที่มีประสิทธิภาพ พวกเขาเปรียบเสมือนบรรณารักษ์มิตรแท้ที่ดูแลรายละเอียดต่างๆ เพื่อให้คุณไม่ต้องคุ้ยหาด้วยตัวเอง
ดูเพิ่มเติม
- HTTPoison GitHub – สำหรับรายละเอียดและอัพเดททั้งหมด
- HexDocs สำหรับ HTTPoison – สถานที่สำหรับเอกสารอ้างอิงอย่างครบถ้วน
- Elixir Forum – เพื่อสนทนากับชุมชน