Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Как сделать авторизацию на сайте используя curl c++???

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
 #include "include.h" 
 
using namespace std; 
using namespace std::string_literals; 
 
int main() { 
    setlocale(LC_ALL, "ru"); 
 
    CURL* curl; 
    CURLcode res; 
    std::ifstream file("C:\\Users\\GLEBHAS\\Desktop\\socks5.txt"); 
    if (!file.is_open()) { 
        cout << "Не удаётся открыть прокси файл." << endl; 
        return 1; 
    } 
 
    curl_global_init(CURL_GLOBAL_DEFAULT); 
 
    // Создаем экземпляр библиотеки curl  
    curl = curl_easy_init(); 
    if (curl == NULL) { 
        curl_global_cleanup(); 
        cerr << "Ошибка инициализации curl" << endl; 
        return 1; 
    } 
 
    std::string proxy; 
 
    std::string url = "САЙТ"; 
 
    // Установка URL 
    res = curl_easy_setopt(curl, CURLOPT_URL, url.c_str()); 
    if (res != CURLE_OK) { 
        fprintf(stderr, "Ошибка установки URL: %s\n", curl_easy_strerror(res)); 
        return 1; 
    } 
 
    // Установка обработчика ошибок 
    char error_buffer[CURL_ERROR_SIZE]; 
    curl_easy_setopt(curl, CURLOPT_ERRORBUFFER, error_buffer); 
 
    // Установка буфера 
    curl_easy_setopt(curl, CURLOPT_BUFFERSIZE, 102400L); 
 
 
    while (std::getline(file, proxy)) { 
        // Установка прокси 
        std::string proxy_url = "socks5://"s + proxy; 
        res = curl_easy_setopt(curl, CURLOPT_PROXY, proxy_url.c_str()); 
        if (res != CURLE_OK) { 
            fprintf(stderr, "Ошибка установки прокси: %s\n", curl_easy_strerror(res)); 
            continue; // переход к следующему прокси-серверу 
        } 
 
        // Включение сохранения кук 
        curl_easy_setopt(curl, CURLOPT_COOKIEJAR, "C:\\Users\\Desktop\\c++\\Scripts\\cookies.txt"); 
        curl_easy_setopt(curl, CURLOPT_COOKIEFILE, "C:\\Users\\Desktop\\c++\\Scripts\\cookies.txt"); 
 
        // Выполнение запроса  
        res = curl_easy_perform(curl); 
        if (res != CURLE_OK) { 
            fprintf(stderr, "Ошибка выполнения запроса: %s\n", error_buffer); 
            continue; // переход к следующему прокси-серверу  
        } 
    } 
 
    //Устанавливаем время подключения прокси сервера 
    curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 30L); 
 
    // очиста curl 
    curl_easy_cleanup(curl); 
 
    //остановка 
    std::cout << "Нажмите любую клавишу для продолжения..." << std::endl; 
    getchar(); 
    std::cout << "Продолжение выполнения программы" << std::endl; 
    main(); 
    return 0; 
 
} 
 
 
 
 
 
 
 

Нужно сделать чтобы каждый прокси регистрировался на сайте проходил капчу и мог ставить я не робот.

По дате
По рейтингу
Аватар пользователя
Оракул

Я могу помочь вам с авторизацией на сайте с использованием curl и C++. Однако, я не могу помочь вам с регистрацией на сайте, прохождением капчи или установкой флажка "я не робот", так как это может нарушить правила сайта и быть незаконным.

Чтобы авторизоваться на сайте с использованием curl и C++, вы можете использовать следующие шаги:
1. Используйте функцию curl_easy_init() для инициализации curl.
2. Установите URL-адрес сайта, на котором вы хотите авторизоваться, с помощью функции curl_easy_setopt() и параметра CURLOPT_URL.
3. Установите данные для авторизации (логин и пароль) с помощью функции curl_easy_setopt() и параметра CURLOPT_USERPWD.
4. Выполните запрос с помощью функции curl_easy_perform().

Вот пример кода, который демонстрирует, как это может выглядеть:

123456789101112131415161718192021
 #include <iostream> 
#include <curl/curl.h> 
 
int main() { 
    CURL *curl; 
    CURLcode res; 
 
    curl = curl_easy_init(); 
    if(curl) { 
        curl_easy_setopt(curl, CURLOPT_URL, "https:/example.com/login"); 
        curl_easy_setopt(curl, CURLOPT_USERPWD, "username:password"); 
 
        res = curl_easy_perform(curl); 
        if(res != CURLE_OK) 
            std::cerr << "Ошибка авторизации: " << curl_easy_strerror(res) << std::endl; 
 
        curl_easy_cleanup(curl); 
    } 
    return 0; 
} 
 
Аватар пользователя
Просветленный

тут больше надо волноваться в проходе капчи.
лучше такое на js или python писать чем на плюсах, используя эмулятор веб клиента.

Аватар пользователя
Искусственный Интеллект

Не надоело задавать ежедневно один и тот же вопрос?