кодесурса
«Python

Python Web Scraping: проверка сертификатов SSL для запросов HTTPS с использованием модуля запросов

script1adsense2code
script1adsense3code

Python Web Scraping: Упражнение 27 с решением

Напишите программу на Python для проверки SSL-сертификатов для запросов HTTPS с помощью модуля запросов.

Примечание. Requests проверяет сертификаты SSL для запросов HTTPS, как веб-браузер. По умолчанию проверка SSL включена, и запрос выдаст SSLError, если он не может проверить сертификат

Пример решения : -

Код Python:

import requests
print(requests.get('https://w3resource.com'))
print(requests.get('https://wayback.com'))
  
 

Выход

 <Ответ [200]>
Traceback (последний вызов был последним):
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", строка 600, в урлопене
    фрагментированный = фрагментированный)
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", строка 343, в _make_request
    self._validate_conn (Conn)
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", строка 839, в _validate_conn
    conn.connect ()
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connection.py", строка 364, в соединении
    _match_hostname (cert, self.assert_hostname или server_hostname)
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connection.py", строка 374, в _match_hostname
    имя_хоста (cert, asserted_hostname)
  Файл "/usr/lib/python3.6/ssl.py", строка 327, в имени_хоста
    % (имя хоста, ',' .join (map (repr, dnsnames))))
ssl.CertificateError: имя хоста «wayback.com» не соответствует ни «* .prod.iad2.secureserver.net», ни «prod.iad2.secureserver.net»
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний вызов был последним):
  Файл "/usr/local/lib/python3.6/dist-packages/requests/adapters.py", строка 449, в отправке
    Тайм-аут = Тайм-аут
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/connectionpool.py", строка 638, в урлопене
    _stacktrace = sys.exc_info () [2])
  Файл "/usr/local/lib/python3.6/dist-packages/urllib3/util/retry.py", строка 398, в приращениях
    поднять MaxRetryError (_pool, url, error или ResponseError (причина))
urllib3.exceptions.MaxRetryError: HTTPSConnectionPool (host = 'wayback.com', port = 443): превышено максимальное количество попыток с помощью url: / (вызвано SSLError (CertificateError ("hostname 'wayback.com' не соответствует ни одному из '* .prod.iad2.secureserver.net ',' prod.iad2.secureserver.net '",),))
Во время обработки вышеупомянутого исключения произошло другое исключение:
Traceback (последний вызов был последним):
  Файл "/tmp/sessions/d2a193285f0c778a/main.py", строка 3, в <module>
    печать (requests.get ( 'https://wayback.com'))
  Файл "/usr/local/lib/python3.6/dist-packages/requests/api.py", строка 75, в get
    запрос на возврат ('get', url, params = params, ** kwargs)
  Файл "/usr/local/lib/python3.6/dist-packages/requests/api.py", строка 60, по запросу
    вернуть session.request (method = метод, url = url, ** kwargs)
  Файл "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", строка 533, в запросе
    resp = self.send (prep, ** send_kwargs)
  Файл "/usr/local/lib/python3.6/dist-packages/requests/sessions.py", строка 646, в отправке
    r = adapter.send (запрос, ** кваргс)
  Файл "/usr/local/lib/python3.6/dist-packages/requests/adapters.py", строка 514, в отправке
    поднять SSLError (e, request = request)
request.exceptions.SSLError: HTTPSConnectionPool (host = 'wayback.com', port = 443): максимальное количество повторов превышено с помощью url: / (вызвано SSLError (CertificateError ("hostname" wayback.com "не соответствует ни одному из '* .prod.iad2.secureserver.net ',' prod.iad2.secureserver.net '",),))

Блок - схема:

«Python

Редактор кода Python:


Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Предыдущий: Напишите программу на Python, чтобы получить название фильма, год и краткое изложение 10 лучших случайных фильмов.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code