Haskell:
बेसिक प्रमाणीकरण के साथ HTTP अनुरोध भेजना
How to (कैसे करें):
{-# LANGUAGE OverloadedStrings #-}
import Network.HTTP.Client
import Network.HTTP.Types.Header (hAuthorization)
import Network.HTTP.Base (encodeBase64)
import Data.ByteString.Char8 (pack)
-- | बेसिक प्रमाणीकरण के साथ HTTP GET अनुरोध भेजना
sendRequestWithBasicAuth :: IO ()
sendRequestWithBasicAuth = do
manager <- newManager defaultManagerSettings
let credentials = "username:password" -- यहाँ अपना उपयोगकर्ता नाम और पासवर्ड डालें
authHeader = ("Authorization", "Basic " <> encodeBase64 (pack credentials))
request = "http://example.com" -- अपना अनुरोध URL यहाँ डालें
initialRequest <- parseRequest request
let requestWithAuth = initialRequest { requestHeaders = [authHeader] }
response <- httpLbs requestWithAuth manager
putStrLn $ "Response status code: " ++ show (statusCode $ responseStatus response)
print $ responseBody response
main :: IO ()
main = sendRequestWithBasicAuth
उदाहरण आउटपुट:
Response status code: 200
"सामग्री..."
Deep Dive (गहन जानकारी):
HTTP बेसिक प्रमाणीकरण वेब के प्रारंभिक दिनों से है और सबसे सरल प्रमाणीकरण मेकानिज़म में से एक है। आप यूजरनेम और पासवर्ड को Base64 में एन्कोड करके मैनेजर कॉल के साथ अनुरोध हेडर में भेजते हैं। इसका विकल्प ओघ (OAuth) या एपीआई कुंजियों का उपयोग हो सकता है जो अधिक सुरक्षित होते हैं। फिर भी, बेसिक प्रमाणीकरण का उपयोग आंतरिक और कम सुरक्षा चिंता वाली सेवाओं में जारी है। Haskell में, http-client पैकेज नेटवर्क कॉल्स की आसानी से हैंडलिंग के लिए एक अधिक स्थूल तरीका प्रस्तुत करता है।