Haskell:
Een HTTP-verzoek verzenden
Hoe:
Laten we naar het leuke gedeelte gaan. Je hebt de http-client en http-client-tls pakketten nodig. Stel je stack in en voeg ze toe aan je package.yaml of .cabal bestand. Voer vervolgens stack build of de geschikte commando’s uit om ze op te halen.
Hier is een simpele GET-aanvraag:
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 responseDit zal de JSON die je hebt ontvangen van httpbin.org afdrukken.
Diepgaand
Vroeger waren Haskell’s HTTP-verzoeken minder rechttoe rechtaan, maar bibliotheken zoals http-client hebben het proces vereenvoudigd.
Alternatieven? Zeker. Er zijn wreq, req, en anderen, vaak met syntactische versieringen of extra functies. Maar http-client is als dat betrouwbare Zwitserse zakmes in je lade - het klaart altijd de klus.
Onder de motorkap gebruikt http-client een Manager om connecties te beheren. Het is efficiënt en hergebruikt sockets. Je kunt het afstemmen, maar standaardinstellingen zijn prima om mee te beginnen.
Zie Ook
Om je toolkit uit te breiden, bekijk deze: