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 ব্যবহার করে। এটি দক্ষ এবং সকেটগুলো পুনরায় ব্যবহার করে। আপনি এটি টিউন করতে পারেন, কিন্তু শুরুতে ডিফল্টগুলি ঠিক আছে।
আরও দেখুন
আপনার টুলকিট প্রসারিত করতে, এগুলি দেখুন: