Вы можете попробовать это
$(".textValue").click(function () {
var spanVal = $(this).text();
document.execCommand("copy");
alert(spanVal);
});
ошибка 12175
, это ERROR_WINHTTP_SECURE_FAILURE
. WinHttpSendRequest
объясняют, когда возникает эта ошибка и как получить дополнительную информацию о ней:
Одна или несколько ошибок были обнаружены в уровне защищенных сокетов (SSL) [ 1123] сертификат, отправленный сервером. Чтобы определить тип ошибки, проверьте с помощью уведомления
blockquote>WINHTTP_CALLBACK_STATUS_SECURE_FAILURE
в функции обратного вызова состояния., поэтому для диагностики отладки как минимум вам нужно написать self cb:
void CALLBACK WinHttpStatusCB( __in HINTERNET hInternet, __in DWORD_PTR dwContext, __in DWORD dwInternetStatus, __in LPVOID lpvStatusInformation, __in DWORD dwStatusInformationLength ) { switch (dwInternetStatus) { case WINHTTP_CALLBACK_STATUS_SECURE_FAILURE: if (lpvStatusInformation && dwStatusInformationLength == sizeof(ULONG)) { DbgPrint("SECURE_FAILURE:[%x]\n", *(PULONG)lpvStatusInformation); // ... } break; //... } }
и активировать его:
WinHttpSetStatusCallback(hSession, WinHttpStatusCB, WINHTTP_CALLBACK_FLAG_ALL_NOTIFICATIONS, 0);
или
[1132 ] с этим вы можете точно указать причину сбоя - несколькоWinHttpSetStatusCallback(hSession, WinHttpStatusCB, WINHTTP_CALLBACK_FLAG_SECURE_FAILURE, 0);
WINHTTP_CALLBACK_STATUS_FLAG_*
флагов.
Если аргумент
blockquote>dwInternetStatus
равенWINHTTP_CALLBACK_STATUS_SECURE_FAILURE
, тоlpvStatusInformation
указывает наDWORD
, которое является побитовой ИЛИ комбинацией одного или нескольких из следующих значений. прочитайте подробнееоднако и из общего вида мы можем понять - CN в сертификате, который использует сервер, должен совпадать с именем DNS сайта, используемым в запросе. если вы используете localhost здесь - тогда CN-имя сертификата сервера также должно быть локальным хостом, или вы получили минимальное значение
WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID
:Общее имя SSL-сертификата (поле имени хоста) неверно, например, если вы ввели localhost и общее имя в сертификате говорит heilpraxis-einssein.de .
blockquote>для отсутствия таких ошибок вы можете использовать
WinHttpSetOption
сWINHTTP_OPTION_SECURITY_FLAGS
. вам нужно подумать, как минимальный наборSECURITY_FLAG_IGNORE_CERT_CN_INVALID
допускает недопустимое общее имя в сертификате; то есть имя сервера, указанное приложением, не совпадает с общим именем в сертификате. Если этот флаг установлен, приложение не получает обратный вызов
blockquote>WINHTTP_CALLBACK_STATUS_FLAG_CERT_CN_INVALID
., но можно установить несколько флагов:
ULONG flags = SECURITY_FLAG_IGNORE_UNKNOWN_CA| SECURITY_FLAG_IGNORE_CERT_DATE_INVALID| SECURITY_FLAG_IGNORE_CERT_CN_INVALID| SECURITY_FLAG_IGNORE_CERT_WRONG_USAGE; WinHttpSetOption(hRequest, WINHTTP_OPTION_SECURITY_FLAGS, &flags, sizeof(flags));