Есть код, отправляющий https-запрос на сервер. При первой попытке отправки запроса HttpSendRequest всегда возвращает FALSE (GetLastError() == ERROR_HTTP_INVALID_SERVER_RESPONSE). При второй попытке — все ок. Установить INTERNET_FLAG_SECURE не забыл. Сертификат на сервере невалиден, потому я дополнительно устанавливаю для хэндла реквеста флаги SECURITY_FLAG_IGNORE_CERT_DATE_INVALID, SECURITY_FLAG_IGNORE_CERT_CN_INVALID и SECURITY_FLAG_IGNORE_UNKNOWN_CA.
Дополню, возможно это важно:
для хэндла реквеста также устанавливаются следующие флаги:
INTERNET_FLAG_HYPERLINK
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTP
INTERNET_FLAG_IGNORE_REDIRECT_TO_HTTPS
INTERNET_FLAG_NO_AUTH
INTERNET_FLAG_NO_CACHE_WRITE
INTERNET_FLAG_NO_UI
INTERNET_FLAG_PRAGMA_NOCACHE
INTERNET_FLAG_RELOAD