Полезное

Мы Вконтакте

Discord канал

#
Аватара пользователя
Пользователь
Сообщения: 11
Сначала кратко, что я хочу сделать. В модуле Http есть класс FHttpRequestWinInet с методом StartRequest(). В этом методе есть такие строки:
Код:
// Disable certificate checks
::DWORD SecurityFlags = SECURITY_FLAG_IGNORE_REVOCATION;
if (!InternetSetOption(RequestHandle, INTERNET_OPTION_SECURITY_FLAGS, (LPVOID)&SecurityFlags, sizeof(::DWORD)))
{
   UE_LOG(LogHttp, Warning, TEXT("InternetSetOption failed: %s"), *InternetTranslateError(GetLastError()));
}

Что намекает на то, что отключена проверка сертификатов и это меня не устраивает. Не хотелось бы собирать из исходников и иметь свою версию движка, поэтому пытаюсь унаследоваться от этого класса и переписать некоторые методы.
Так вот, одна из проблем, с которой я столкнулся, это не получается создать экземпляр этого класса.
Код:
FHttpRequestWinInet* WinHttpRequest = new FHttpRequestWinInet();

получаю:
Код:
error LNK2019: ссылка на неразрешенный внешний символ "public: __cdecl FHttpRequestWinInet::FHttpRequestWinInet(void)" (??0FHttpRequestWinInet@@QEAA@XZ) в функции "public: void __cdecl UJsonFieldData::PostRequest(class UObject *,class FString const &)" (?PostRequest@UJsonFieldData@@QEAAXPEAVUObject@@AEBVFString@@@Z)

Видимо, я что-то не понимаю в анриловской системе или C++.
При попытке наследования тоже ошибки линковки, но сначала хочу разобраться в этом, т.к. догадываюсь что не понимаю что-то фундаментальное.
Аватара пользователя
Пользователь
Сообщения: 195
я не думаю, что можно наживую вызывать виндовую реализацию Http. Думаю нужно создать объект другого класса, который в зависимости от платформы вызовет нужную реализацию
Аватара пользователя
Пользователь
Сообщения: 11
gary_cho писал(а):
я не думаю, что можно наживую вызывать виндовую реализацию Http. Думаю нужно создать объект другого класса, который в зависимости от платформы вызовет нужную реализацию

Это да, то, что по ссылке, я видел и делал, все получается. Нужные реализации выдает FHttpModule, который, в мое случае, вызывает FWindowsPlatformHttp, который создает нужный мне FHttpRequestWinInet оператором new. Но мне надо изменить поведение FHttpRequestWinInet и как это сделать, я пока не придумал.
Аватара пользователя
Пользователь
Сообщения: 195
тока исходники править..либо свой плагин пиши..
Аватара пользователя
Пользователь
Сообщения: 11
gary_cho писал(а):
тока исходники править..либо свой плагин пиши..

С исходниками получилось, вот как раз и пытаюсь написать плагин и столкнулся с этими проблемами. Попробую придумать что-нибудь с curl'ом.


Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 6

UEngine.ru © 2017
Все права защищены. При копировании материалов с сайта, ссылка на первоисточник обязательна.
Яндекс.Метрика
Главная страница