การส่งคำขอ HTTP ด้วยการตรวจสอบสิทธิ์พื้นฐาน

PowerShell:
การส่งคำขอ HTTP ด้วยการตรวจสอบสิทธิ์พื้นฐาน

วิธีการ:

นี่คือวิธีที่คุณขอข้อมูลจากเซิร์ฟเวอร์อย่างสุภาพด้วยคำว่า ‘please’ ในรูปแบบของการตรวจสอบสิทธิ์พื้นฐาน:

# เตรียมข้อมูลประจำตัว
$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 มิฉะนั้น ใครก็ตามที่แอบดูสามารถเปิดเผยมันได้

ดูเพิ่มเติม