Żądania - certyfikat SSL
Certyfikat SSL to funkcja bezpieczeństwa, która zawiera bezpieczne adresy URL. Kiedy używasz biblioteki Requests, weryfikuje ona również certyfikaty SSL dla podanego adresu URL https. Weryfikacja SSL jest domyślnie włączona w module żądań i zgłosi błąd, jeśli certyfikat nie jest obecny.
Praca z bezpiecznym adresem URL
Oto przykład pracy z bezpiecznym adresem URL -
import requests
getdata = requests.get(https://jsonplaceholder.typicode.com/users)
print(getdata.text)
Wynik
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"
}
}
]
Łatwo otrzymujemy odpowiedź z powyższego adresu URL https, a to dlatego, że moduł żądania może zweryfikować certyfikat SSL.
Możesz wyłączyć weryfikację SSL, po prostu dodając weryfikację = False, jak pokazano w poniższym przykładzie.
Przykład
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify=False)
print(getdata.text)
Otrzymasz dane wyjściowe, ale otrzymasz również ostrzeżenie, że certyfikat SSL nie został zweryfikowany i zaleca się dodanie weryfikacji certyfikatu.
Wynik
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"
}
}
]
Możesz również zweryfikować certyfikat SSL, umieszczając go na swoim końcu i podając ścieżkę za pomocą verify param, jak pokazano poniżej.
Przykład
import requests
getdata =
requests.get('https://jsonplaceholder.typicode.com/users', verify='C:\Users\AppData\Local\certificate.txt')
print(getdata.text)
Wynik
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"
}
}
]