


Как сделать авторизацию на сайте используя curl c++???
#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().
Вот пример кода, который демонстрирует, как это может выглядеть:
#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 писать чем на плюсах, используя эмулятор веб клиента.
Не надоело задавать ежедневно один и тот же вопрос?