একটি ওয়েবপেজ ডাউনলোড করা

Haskell:
একটি ওয়েবপেজ ডাউনলোড করা

কিভাবে:

আসুন দেখি Haskell-এর http-conduit লাইব্রেরি ব্যবহার করে একটি সহজ উদাহরণের মাধ্যমে। প্রথমে, cabal install http-conduit ব্যবহার করে এটি ইন্সটল করুন। তারপরে:

import Network.HTTP.Conduit -- প্রধান নেটওয়ার্ক লাইব্রেরি
import qualified Data.ByteString.Lazy as L -- আমাদের Lazy ByteStrings প্রয়োজন হবে

-- ওয়েব পেজ ডাউনলোড করার ফাংশন
downloadPage :: String -> IO L.ByteString
downloadPage url = simpleHttp url

main :: IO ()
main = do
    -- ফাংশনটি ব্যবহার করে একটি পেজ ডাউনলোড করুন
    content <- downloadPage "http://example.com"
    -- কন্টেন্ট দিয়ে কিছু করুন, যেমন এটি প্রিন্ট করা
    L.putStr content

এটি চালালে, আপনি http://example.com-এর HTML আপনার স্ক্রীনে দেখতে পাবেন।

গভীর ডুব

Haskell-এ HTTP অনুরোধগুলি সর্বদা এত পরিপাটি ছিল না। HTTP মতো পুরানো লাইব্রেরিগুলি বেশি boilerplate কোড প্রয়োজন ছিল। http-conduit এর সাথে, জটিলতা অপসারিত হয়েছে।

অন্যান্য পদ্ধতি আছে, যেমন একটি শেল স্ক্রিপ্টে wget কমান্ড বা Python-এর requests লাইব্রেরি। কিন্তু এগুলি Haskell-এর ফাংশনাল পরিবেশে সর্বদা এত দক্ষ বা প্রকাশপূর্ণ নাও হতে পারে।

অন্তরালে, http-conduit একটি ম্যানেজারকে ব্যবহার করে কানেকশন পুলিং এবং HTTP1.1 এর জন্য Keep-Alive পরিচালনা করে, যা এটিকে একাধিক অনুরোধের জন্য আরও দক্ষ করে তোলে।

আরো দেখুন