Elixir:
ส่งคำขอ HTTP

วิธีการ:

ใช้ไลบรารี HTTPoison ของ Elixir มันเรียบง่าย ใช้งานง่าย และทำงานได้ดี

  1. เพิ่ม HTTPoison ในไฟล์ mix.exs ของโปรเจค:
defp deps do
  [
    {:httpoison, "~> 1.8"}
  ]
end
  1. รันคำสั่ง mix deps.get ในเทอร์มินัลเพื่อดึง dependency ที่ต้องการ

  2. ตอนนี้คุณพร้อมที่จะส่งคำขอ 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 – เพื่อสนทนากับชุมชน