Wpis z mikrobloga

Mircy, jak sobie radzicie z błędem SSL przy otwieraniu stron na https:

[SSL: CERTIFICATEVERIFYFAILED] certificate verify failed (ssl.c:598)
Exception Location: /usr/lib64/python3.4/ssl.py in do
handshake, line 805

To jest kod powodujący ten błąd:

import requests
a = requests.get('[https://api-v3.mojepanstwo.pl/dane/sejm_druki?_type=objects&page=1',](https://api-v3.mojepanstwo.pl/dane/sejm_druki?_type=objects&page=1',) verify=False)

Teoretycznie ten wątek:
http://stackoverflow.com/questions/10667960/python-requests-throwing-up-sslerror
powinien wyjaśnić sprawę ale nie rozumiem jak mam zdobyć plik pem ze strony api-v3.mojepanstwo.pl

Gdybym rozumiał to mógłbym zrobić tak:

verify = '/etc/ssl/certs/jakis_certyfikat.pem'
a = requests.get('[https://api-v3.mojepanstwo.pl/dane/sejm_druki?_type=objects&page=1',](https://api-v3.mojepanstwo.pl/dane/sejm_druki?_type=objects&page=1',) verify=verify)

#django
  • 2
@soma115: ten kod z verify=False działa, tylko wyskakuje warning, no i wtedy nie masz tej weryfikacji SSL.

jak chcesz ten plik pem to wejdź na
https://cservices.certum.pl/muc-customer/certificate/list

podaj mail: biuro@epf.org.pl i wyszukaj, wybierz ten pierwszy, bo jest ważny i kliknij Zapisz tekstowo wtedy pobierzesz pem

ale jak podasz verify='sciagnietycertyfikat.pem' to mi nie działa, według dokumentacji: "Option verify only applies to host certs." Chyba można jeszcze przez cert=('client.cert', 'client.key') , ale wtedy trzeba