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

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

วิธีการ:

นี่คือวิธีที่คุณสามารถใช้ Python เพื่อสื่อสารกับเซิร์ฟเวอร์โดยใช้ Basic Auth

import requests
from requests.auth import HTTPBasicAuth

# แทนที่ด้วยข้อมูลรับรองจริงของคุณและ API endpoint ที่คุณต้องการเข้าถึง
username = 'cooluser'
password = 'supersecretpassword'
url = 'https://api.someservice.com/data'

response = requests.get(url, auth=HTTPBasicAuth(username, password))

# ลองดูว่าเราได้อะไรกลับมา
print(response.status_code)
print(response.json())  # สมมติว่าการตอบกลับอยู่ในรูปแบบ JSON

ผลลัพธ์อาจจะดูเหมือนนี้ถ้าทุกอย่างราบรื่น:

200
{'data': 'ของลับของคุณ!'}

แต่ถ้าคุณกรอกข้อมูลรับรองผิด:

401

นั่นคือสัญญาณห้ามเข้าอย่างชัดเจนเลยนะ

ศึกษาลึกซึ้ง

ด้วยประวัติศาสตร์แล้ว, HTTP Basic Auth เป็นวิธีที่เก่าแก่ที่สุดสำหรับความปลอดภัยบนเว็บ วิธีง่ายๆ ในการทำความรู้จักกับเว็บไซต์ มันไม่ค่อยปลอดภัยถ้าใช้คนเดียวเพราะมันส่งข้อมูลรับรองในรูปแบบข้อความธรรมดา แค่เข้ารหัสเป็น base64 - ไม่ใช่การเข้ารหัส ควรใช้ HTTPS เพื่อป้องกันไม่ให้ข้อมูลรับรองง่ายๆ ถูกรวบรวมเหมือนลูกอมจากเด็ก

มีวิธีการที่ปลอดภัยกว่าอย่าง เช่น Digest Access Authentication ที่รหัสผ่านไม่ถูกส่งในรูปแบบธรรมดาไปยังเครือข่าย OAuth เป็นอีกหนึ่งวิธีที่ใหญ่โต โดยเฉพาะสำหรับ API ในปัจจุบัน มันเหมือนกับการออกบัตรผ่านชั่วคราวมากกว่าการแสดงบัตรประจำตัวทุกครั้ง

ภายใต้ฝาครอบ, ไลบรารี requests กำลังเข้ารหัสชื่อผู้ใช้และรหัสผ่านของคุณและวางไว้ในหัวข้อ Authorization ที่จัดรูปแบบเหมือน Basic base64encodedcredentials เซิร์ฟเวอร์จะถอดรหัสหัวข้อนี้ เช็คข้อมูลรับรองของคุณ และถ้าคุณเป็นผู้ใช้ที่ถูกต้อง จะอนุญาตให้คุณเข้าถึง

ดูเพิ่มเติม