C++ Вопрос Не выполняется curl запрос

Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
756
Реакции[?]
64
Поинты[?]
2K

Пожалуйста, зарегистрируйтесь или авторизуйтесь, чтобы увидеть содержимое.




Суть проблемы - именно в хуках когда вызывается curl_easy_perform при любом взаимодействие (POST, GET) с сайтом просто код перестаёт выполняться.Может есть у кого предположения с чем может быть связано?
P.S в любом другом месте НЕ ИЗ ХУКА код скачивания работает нормально
 
Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
756
Реакции[?]
64
Поинты[?]
2K
так мб ты приложишь код скачивания?)
Обычный код скачивания

Код:
size_t writeCallback(char* buf, size_t size, size_t nmemb, std::string* output) {
    size_t dataSize = size * nmemb;
    if (output) {
        output->append(buf, dataSize);
    }
    return dataSize;
}

static void testing() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string output;

        curl_easy_setopt(curl, CURLOPT_URL, "https://api.myip.com");

        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &output);

        CURLcode res = curl_easy_perform(curl);
        MessageBoxA(NULL, output.c_str(), NULL, 0);
        curl_easy_cleanup(curl);
    }
}
curl_easy_perform нечего не возвращает - как будто из под хука где-то умирает.В любом другом месте вне хуков всё работает нормально (дебагер нечего не показывает если что)
 
Эксперт
Статус
Оффлайн
Регистрация
3 Апр 2020
Сообщения
1,163
Реакции[?]
593
Поинты[?]
8K
Обычный код скачивания

Код:
size_t writeCallback(char* buf, size_t size, size_t nmemb, std::string* output) {
    size_t dataSize = size * nmemb;
    if (output) {
        output->append(buf, dataSize);
    }
    return dataSize;
}

static void testing() {
    CURL* curl = curl_easy_init();
    if (curl) {
        std::string output;

        curl_easy_setopt(curl, CURLOPT_URL, "https://api.myip.com");

        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, writeCallback);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, &output);

        CURLcode res = curl_easy_perform(curl);
        MessageBoxA(NULL, output.c_str(), NULL, 0);
        curl_easy_cleanup(curl);
    }
}
curl_easy_perform нечего не возвращает - как будто из под хука где-то умирает.В любом другом месте вне хуков всё работает нормально (дебагер нечего не показывает если что)
Пожалуйста, авторизуйтесь для просмотра ссылки.
(CURL_GLOBAL_DEFAULT); ее тоже надо инициализировать
 
Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
756
Реакции[?]
64
Поинты[?]
2K
Ты че баклан, дефективный?
Пользователь
Статус
Оффлайн
Регистрация
18 Мар 2019
Сообщения
756
Реакции[?]
64
Поинты[?]
2K
UP Методом перебора узнал,что проблема в указании в CURLOPT_URL домена,а не прямого IP - если кто-то знает в чём может быть проблема отпишите
 
coder of the year
Участник
Статус
Оффлайн
Регистрация
13 Мар 2019
Сообщения
886
Реакции[?]
266
Поинты[?]
4K
Скрытое содержимое


Суть проблемы - именно в хуках когда вызывается curl_easy_perform при любом взаимодействие (POST, GET) с сайтом просто код перестаёт выполняться.Может есть у кого предположения с чем может быть связано?
P.S в любом другом месте НЕ ИЗ ХУКА код скачивания работает нормально
создай поток и сделай обработку скачку / передачи инфы между ними
 
Сверху Снизу