बेसिक प्रमाणीकरण के साथ HTTP अनुरोध भेजना

Elm:
बेसिक प्रमाणीकरण के साथ HTTP अनुरोध भेजना

How to: (कैसे करें:)

import Http
import Base64

-- बेसिक प्रमाणीकरण हेडर बनाएं
authorizationHeader : String -> String -> Http.Header
authorizationHeader username password =
  let
    encodedCredentials = Base64.encode (username ++ ":" ++ password)
  in
  Http.header "Authorization" ("Basic " ++ encodedCredentials)

-- HTTP GET अनुरोध भेजें
getWithBasicAuth : String -> String -> String -> Http.Request String
getWithBasicAuth url username password =
  Http.request
    { method = "GET"
    , headers = [ authorizationHeader username password ]
    , url = url
    , body = Http.emptyBody
    , expect = Http.expectStringResponse identity
    , timeout = Nothing
    , tracker = Nothing
    }

-- उपयोग का उदाहरण
sampleRequest : Http.Request String
sampleRequest =
  getWithBasicAuth "http://example.com/data" "user123" "password456"

Deep Dive (गहराई से जानकारी)

HTTP Basic Authentication वेब की शुरुआत से मौजूद है। यह सरल है लेकिन हमें HTTPS के साथ इसका उपयोग करना चाहिए वरना क्रेडेंशियल्स आसानी से चोरी हो सकते हैं। Elm में, Http मॉड्यूल और Base64 पैकेज का उपयोग करके आप इसे आसानी से इम्पलीमेंट कर सकते हैं। यह तरीका ज्यादातर APIs के लिए पर्याप्त होता है। हालांकि, जटिल प्रमाणीकरण जैसे कि OAuth के लिए अलग तरीके होते हैं।

इम्पलीमेंटेशन में, क्रेडेंशियल्स को बेस-६४ में कोड करना और हेडर में Basic स्कीम के साथ जोड़ना शामिल है। Elm में आप Http.header का उपयोग करके आसानी से कस्टम हेडर्स बना सकते हैं।

See Also (देखें भी)