powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / curllib, запрос на авторизацию в онлайн-чате
1 сообщений из 1, страница 1 из 1
curllib, запрос на авторизацию в онлайн-чате
    #39232562
ukugyul552465
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Возьмём для примера онлайн чат http:// kolhozanet.ru/chat-onlain.html.
Посещение фактическин а нуле, но не в этом суть.
Хочу научиться составлять http-запросы с помощью curllib.

Нажимаем кнопку "Войти в чат", данные, которые передаются, видим на скриншоте.
msg - это наш логин
csrf - строка, в которой меняются некоторые символы

Составил такую программу:
Код
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <string>
#include <cstring>
#include <random>
#include "curl.h"
#pragma comment(lib,"curllib_static.lib") 
#pragma comment(lib,"libcurl_imp.lib")
#pragma warning(disable: 4996)
using namespace std;

static size_t write_head(char *ptr, size_t size, size_t nmemb, std::ostream* stream)
{
    (*stream)<< std::string(ptr, size*nmemb);
    return size*nmemb;
}

int main()
{
	string act = "login"; // Запрос залогиниться
	string chat = "31229"; // Id чата
	string msg = "MrMrMr"; // Логин
	string pv = "0";
	string c = "";
	string bind = "0";
	string csrf = "7a8d10aa41f973915411475467e0effc"; // Для разных логинов разнится

	string post_data;
	post_data = "act=" + act + "&chat=" + chat + "&msg=" + msg + "&pv=" + pv + "&c=" + c + "&bind=" + bind + "&csrf=" + csrf;

	CURL *curl_handle;
    CURLcode res;
    curl_handle = curl_easy_init();
    if(curl_handle)
        {
             curl_easy_setopt(curl_handle, CURLOPT_URL, "http://kolhozanet.ru/chat-onlain.html");
			 curl_easy_setopt(curl_handle, CURLOPT_FOLLOWLOCATION, 1);
			 curl_easy_setopt(curl_handle, CURLOPT_COOKIEFILE,"");
                         curl_easy_setopt(curl_handle, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.94 Safari/537.36");
			 curl_easy_setopt(curl_handle, CURLOPT_REDIR_PROTOCOLS, "http://kolhozanet.chatovod.ru/");
			 curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDS, post_data.c_str() );
            curl_easy_setopt(curl_handle, CURLOPT_POSTFIELDSIZE, post_data.length() );

             res = curl_easy_perform(curl_handle);
			 if (res == CURLE_OK)
			 {
				 cout << endl << "OK!" << endl;
			 }

			

             curl_easy_cleanup(curl_handle);
        }

	cin.get();
	cin.get();
	return 0;
}



Почти уверен, что не так как нужно, составил заголовок запроса.
Либо ещё что-то не учёл.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / curllib, запрос на авторизацию в онлайн-чате
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]