Gửi một yêu cầu HTTP

Haskell:
Gửi một yêu cầu HTTP

Làm thế nào:

Chúng ta hãy bắt đầu với những việc thú vị. Bạn cần các gói http-clienthttp-client-tls. Thiết lập stack của bạn và thêm chúng vào file package.yaml hoặc .cabal. Sau đó, chạy stack build hoặc các lệnh phù hợp khác để tải chúng.

Dưới đây là một yêu cầu GET đơn giản:

import Network.HTTP.Client
import Network.HTTP.Client.TLS
import qualified Data.ByteString.Lazy.Char8 as L8

main :: IO ()
main = do
    manager <- newManager tlsManagerSettings
    request <- parseRequest "http://httpbin.org/get"
    response <- httpLbs request manager
    L8.putStrLn $ responseBody response

Điều này sẽ in ra JSON bạn nhận được từ httpbin.org.

Khám Phá Kỹ Lưỡng

Trong quá khứ, việc thực hiện yêu cầu HTTP trong Haskell ít trực tiếp hơn, nhưng những thư viện như http-client đã làm đơn giản hóa quá trình này.

Có lựa chọn khác? Chắc chắn rồi. Có wreq, req, và nhiều người khác, thường với cú pháp đơn giản hoặc tính năng thêm. Nhưng http-client giống như cây dao đa năng đáng tin cậy trong ngăn kéo của bạn - nó luôn hoàn thành công việc.

Phần nội dung, http-client sử dụng một Manager để xử lý các kết nối. Nó hiệu quả và tái sử dụng socket. Bạn có thể điều chỉnh nó, nhưng mặc định là đủ để bắt đầu.

Xem Thêm

Để mở rộng bộ công cụ của bạn, hãy kiểm tra những cái sau: