Как определить использует ли сайт https?

Для определения того, использует ли сайт протокол HTTPS, можно воспользоваться различными подходами в зависимости от того, нужно ли это сделать вручную или автоматически с помощью Python.

1. **Вручную**:
Нажмите на значок замка слева от адресной строки в веб-браузере. Появится окно с информацией о безопасности соединения. Если там указано, что сетевое соединение защищено, то сайт использует протокол HTTPS.

2. **Автоматически c использованием Python**:
Для проверки использования HTTPS протокола с помощью Python вы можете воспользоваться модулем requests. Вот пример кода:

import requests

url = 'https://www.example.com'
response = requests.head(url)

if response.status_code == 200:
    if response.url.startswith('https'):
        print(f'{url} использует протокол HTTPS')
    else:
        print(f'{url} не использует протокол HTTPS')
else:
    print(f'Ошибка при обращении к {url}')

Этот код отправляет HEAD-запрос по указанному URL и проверяет статус ответа. Если код ответа равен 200 и URL сайта начинается с "https://", то сайт использует протокол HTTPS.

Также можно воспользоваться более низкоуровневым модулем ssl для проверки сертификата сайта:

import ssl

hostname = 'www.example.com'
ctx = ssl.create_default_context()
with ctx.wrap_socket(socket.socket(), server_hostname=hostname) as s:
    s.connect((hostname, 443))
    cert = s.getpeercert()
    if cert:
        print(f"{hostname} имеет действительный сертификат")
    else:
        print(f"{hostname} имеет недействительный сертификат")

Этот код устанавливает безопасное соединение с указанным сайтом и проверяет сертификат. Если сертификат предоставлен и действителен, то сайт использует протокол HTTPS.

Таким образом, вы можете использовать любой из этих методов для определения того, использует ли сайт HTTPS.