Подпишитесь на наш Telegram-канал, чтобы всегда быть в курсе важных обновлений! Перейти

Подключаем CURL к вашему проекту(x64/x32)

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
14 Сен 2018
Сообщения
32
Реакции
3
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
1. Скачиваем отсюда
Пожалуйста, авторизуйтесь для просмотра ссылки.
curl(Битность в зависимости от вашего проекта)
2. Качаем по той же ссылке снизу OpenSSL(Битность в зависимости от вашего проекта)
3. Создаем в папке с проектом папку CURL и перекидываем в нее сначала папки bin, lib, include( из архива CURL). Далее по той же схеме из архива OpenSSL.
4. Все DLL из обоих архивов кидаем в Syswow32/Syswow64(обязательно, т.к при запуске программы выдаст ошибку об отсутствие этих dll.
Переходим к настройке в проект.
1.Прописываем в КАТАЛОГАХ ВКЛЮЧЕНИЯ ссылки на папку CURL(А в ней пути к lib,include, include/curl)
2. С КАТАЛОГОМ БИБЛИОТЕК проделываем тоже самое.
3. В начале проекта прописываем следующие:
C++:
Expand Collapse Copy
#include "Libcurl/include/curl/curl.h"
#pragma comment(lib, "libcurl.a")
4.Пример работы с CURL. Скачивание файла
C++:
Expand Collapse Copy
static int writer(char *data, size_t size, size_t nmemb, string *buffer)
{
    int result = 0;
    if (buffer != NULL)
    {
        buffer->append(data, size * nmemb);
        result = size * nmemb;
    }
    return result;
}
// Нужно для чтения/записи данных

void curltest()
{
if(console) // Вызывает отдельную консоль. Т.к у меня лоадер, поэтому я использую эту ф-ю. Вам необязательно
{
    int hConHandle = 0;
    HANDLE lStdHandle = 0;
    FILE *fp = 0;
    AllocConsole();
    SetConsoleTitle("Inject");
    lStdHandle = GetStdHandle(STD_OUTPUT_HANDLE);
    hConHandle = _open_osfhandle(PtrToUlong(lStdHandle), 0x4000);
    fp = _fdopen(hConHandle, "w");
    *stdout = *fp;
    setvbuf(stdout, NULL, _IONBF, 0);
    freopen("CONIN$", "r", stdin);
    freopen("CONOUT$", "w", stdout);
    freopen("CONOUT$", "w", stderr);

    setlocale(LC_CTYPE, "Russian");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), 3);
}
    CURL *curl;
    CURLcode res;
    char *url = "http://localhost/trooll.ru.zip"
    char outfilename[FILENAME_MAX] = "C:\\trooll.ru.zip";
    curl = curl_easy_init();
    if (curl) {
        fp = fopen(outfilename, "wb");
        curl_easy_setopt(curl, CURLOPT_URL, url);
        curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, write_data);
        curl_easy_setopt(curl, CURLOPT_WRITEDATA, fp);
        res = curl_easy_perform(curl);
        /* always cleanup */
        curl_easy_cleanup(curl);
        fclose(fp);
    }
    return curltest();
}
 
Пиздец гайд.
Ну ты бы показал, как прилинковать статически, как динамически, как правильно скомпилировать с нужными модулями, кстати говоря если софт не кроссплатформенный, можно юзать WinSSL вместо OpenSSL
 
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Пиздец гайд.
Ну ты бы показал, как прилинковать статически, как динамически, как правильно скомпилировать с нужными модулями, кстати говоря если софт не кроссплатформенный, можно юзать WinSSL вместо OpenSSL
C нужными модулями ? xD Тут половина людей подключить его не могут правильно, а ты про модули говоришь)
 
C нужными модулями ? xD Тут половина людей подключить его не могут правильно, а ты про модули говоришь)
На самом деле, я когда первый раз компилил и подключал вместе с опенссл, уебал порядка 3 часов на все
 
Назад
Сверху Снизу