Yêu cầu - Chứng nhận SSL
Chứng chỉ SSL là một tính năng bảo mật đi kèm với các url an toàn. Khi bạn sử dụng thư viện Yêu cầu, nó cũng xác minh chứng chỉ SSL cho URL https được cung cấp. Xác minh SSL được bật theo mặc định trong mô-đun yêu cầu và sẽ gây ra lỗi nếu chứng chỉ không có.
Làm việc với URL an toàn
Sau đây là ví dụ về cách làm việc với URL an toàn:
import requests
getdata = requests.get(https://jsonplaceholder.typicode.com/users)
print(getdata.text)
Đầu ra
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"
}
}
]
Chúng tôi dễ dàng nhận được phản hồi từ URL https ở trên và đó là vì mô-đun yêu cầu có thể xác minh chứng chỉ SSL.
Bạn có thể tắt xác minh SSL bằng cách chỉ cần thêm verify = False như được hiển thị trong ví dụ bên dưới.
Thí dụ
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify=False)
print(getdata.text)
Bạn sẽ nhận được đầu ra, nhưng nó cũng sẽ đưa ra thông báo cảnh báo rằng, chứng chỉ SSL chưa được xác minh và nên thêm xác minh chứng chỉ.
Đầu ra
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"
}
}
]
Bạn cũng có thể xác minh chứng chỉ SSL bằng cách lưu trữ nó ở cuối và cung cấp đường dẫn bằng verify param như hình dưới đây.
Thí dụ
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify='C:\Users\AppData\Local\certificate.txt')
print(getdata.text)
Đầu ra
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"
}
}
]