বেসিক অথেন্টিকেশন সহ HTTP রিকুয়েস্ট প্রেরণ

PowerShell:
বেসিক অথেন্টিকেশন সহ HTTP রিকুয়েস্ট প্রেরণ

কিভাবে:

এখানে কিভাবে আপনি বেসিক প্রমাণীকরণের মাধ্যমে একটি সার্ভারের কাছে ডেটার জন্য ‘দয়া করে’ বলে জিজ্ঞাসা করবেন:

# প্রমাণপত্রগুলো প্রস্তুত করা হচ্ছে
$user = 'YourUsername'
$pass = 'YourPassword'
$pair = "$($user):$($pass)"
$encodedCreds = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes($pair))

# হেডারগুলো সেট আপ করা হচ্ছে
$headers = @{
    Authorization = "Basic $encodedCreds"
}

# যে URL এ আপনি টোকা দিচ্ছেন
$url = 'https://api.example.com/data'

# এখন, চলুন কল করি
$response = Invoke-RestMethod -Uri $url -Method Get -Headers $headers

# ফলাফল আউটপুট করা হচ্ছে
$response

ধরুন ফলাফল যদি JSON ফরম্যাটে থাকে তাহলে নমুনা আউটপুট এরকম দেখাতে পারে:

{
    "name": "John Doe",
    "email": "[email protected]"
}

গভীর অন্তর্দৃষ্টি

বেসিক প্রমাণীকরণ পুরানো স্কুলের, যেটি ইন্টারনেটের প্রাথমিক দিনগুলিতে ফিরে যায় যখন প্রত্যেকে প্রত্যেককে চিনত। এখনও ব্যবহার হয়ে থাকে, তবে এটি নিজে নিজে সুপার সুরক্ষিত নয় - এটি যেন আপনার গোপন ক্লাবের পাসওয়ার্ড একটি পোস্টকার্ডে পাঠানো। আজকাল, আমরা সাধারণত এটি HTTPS এর উপর দিয়ে পাঠাই যাতে এটি এনক্রিপ্ট করা যায়, যেন এটি একটি লক করা বাক্সে পোস্টকার্ড পাঠানোর মতো।

বিকল্প? প্রচুর। আপনার কাছে API কী, OAuth, বেয়ার টোকেন… তালিকাটি চলতে থাকে। প্রতিটির সাথে আসে নিজস্ব হাত মিলানো এবং গোপন শব্দ।

বাস্তবায়নের দিক থেকে, PowerShell এ, আপনি আপনার ব্যবহারকারী নাম এবং পাসওয়ার্ডটি এমন একটি ফরম্যাটে রূপান্তর করছেন যা HTTP প্রোটোকল বুঝতে পারে – base64। কিন্তু মনে রাখবেন, base64 এনক্রিপ্শন নয়; এটি কেবল একটি ছদ্মবেশে খেলা করা টেক্সট। এটি HTTPS এর উপর দিয়ে না পাঠালে যে কেউ এটি প্রকাশ করতে পারে।

আরও দেখুন