คำขอ - การรับรอง SSL
ใบรับรอง SSL เป็นคุณลักษณะด้านความปลอดภัยที่มาพร้อมกับ URL ที่ปลอดภัย เมื่อคุณใช้ไลบรารีคำขอนอกจากนี้ยังตรวจสอบใบรับรอง SSL สำหรับ https URL ที่กำหนด การยืนยัน SSL ถูกเปิดใช้งานโดยค่าเริ่มต้นในโมดูลคำขอและจะทำให้เกิดข้อผิดพลาดหากไม่มีใบรับรอง
ทำงานกับ URL ที่ปลอดภัย
ต่อไปนี้เป็นตัวอย่างการทำงานกับ URL ที่ปลอดภัย -
import requests
getdata = requests.get(https://jsonplaceholder.typicode.com/users)
print(getdata.text)
เอาต์พุต
E:\prequests>python makeRequest.py
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "[email protected]",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
]
เราได้รับคำตอบอย่างง่ายดายจาก https URL ด้านบนและเป็นเพราะโมดูลคำขอสามารถตรวจสอบใบรับรอง SSL ได้
คุณสามารถปิดใช้งานการตรวจสอบ SSL ได้โดยเพียงแค่เพิ่ม Verify = False ดังที่แสดงในตัวอย่างด้านล่าง
ตัวอย่าง
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify=False)
print(getdata.text)
คุณจะได้รับผลลัพธ์ แต่จะมีข้อความเตือนด้วยว่าใบรับรอง SSL ไม่ได้รับการตรวจสอบและแนะนำให้เพิ่มการตรวจสอบใบรับรอง
เอาต์พุต
E:\prequests>python makeRequest.py
connectionpool.py:851: InsecureRequestWarning: Unverified HTTPS request is
being made. Adding certificate verification is strongly advised. See:
https://urllib3
.readthedocs.io/en/latest/advanced-usage.htm l#ssl-warnings
InsecureRequestWarning)
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "[email protected]",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
]
คุณยังสามารถตรวจสอบใบรับรอง SSL ได้โดยโฮสต์ไว้ที่ส่วนท้ายของคุณและให้เส้นทางโดยใช้ verify param ดังที่แสดงด้านล่าง
ตัวอย่าง
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify='C:\Users\AppData\Local\certificate.txt')
print(getdata.text)
เอาต์พุต
E:\prequests>python makeRequest.py
[
{
"id": 1,
"name": "Leanne Graham",
"username": "Bret",
"email": "[email protected]",
"address": {
"street": "Kulas Light",
"suite": "Apt. 556",
"city": "Gwenborough",
"zipcode": "92998-3874",
"geo": {
"lat": "-37.3159",
"lng": "81.1496"
}
},
"phone": "1-770-736-8031 x56442",
"website": "hildegard.org",
"company": {
"name": "Romaguera-Crona",
"catchPhrase": "Multi-layered client-server neural-net",
"bs": "harness real-time e-markets"
}
}
]