Haskell:
HTTP অনুরোধ প্রেরণ করা
কিভাবে:
চলুন মজার বিষয়ে চলে যাই। আপনার http-client
এবং http-client-tls
প্যাকেজ প্রয়োজন হবে। আপনার স্ট্যাক সেট করুন এবং এগুলোকে আপনার package.yaml
অথবা .cabal
ফাইলে যোগ করুন। তারপর, stack build
বা উপযুক্ত কমান্ড চালান তাদের অনুসন্ধানের জন্য।
এখানে একটি সিম্পল GET অনুরোধ রয়েছে:
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
এটি httpbin.org
থেকে পাওয়া JSON প্রিন্ট করবে।
গভীরে দেখা
পূর্বে, Haskell এর HTTP অনুরোধ কম সোজা ছিল, কিন্তু http-client
এর মতো লাইব্রেরিগুলি প্রক্রিয়াটি সহজ করে তুলেছে।
বিকল্প? অবশ্যই। wreq
, req
এবং অন্যান্য আছে, প্রায়শই সিন্ট্যাক্টিক সুগার বা অতিরিক্ত ফিচার সহ। কিন্তু http-client
আপনার ড্রয়ারে থাকা সেই নির্ভরযোগ্য সুইস আর্মি নাইফের মত, যেটি সবসময় কাজটি সারে।
অন্তর্নিহিতভাবে, http-client
কানেকশন সামলাইতে একটি Manager
ব্যবহার করে। এটি দক্ষ এবং সকেটগুলো পুনরায় ব্যবহার করে। আপনি এটি টিউন করতে পারেন, কিন্তু শুরুতে ডিফল্টগুলি ঠিক আছে।
আরও দেখুন
আপনার টুলকিট প্রসারিত করতে, এগুলি দেখুন: