#include <stdio.h>
#include <clocale>
#include <windows.h>
#include <wininet.h>
#pragma comment(lib,"wininet")
int main()
{
HINTERNET internet;
HINTERNET connect;
HINTERNET request;
char data[1024];
DWORD bytesRead;
bool read = true;
setlocale(LC_CTYPE, "");
internet = InternetOpen(L"Mozilla/4.0 (compatible; MSIE 6.0b; Windows NT 5.0; .NET CLR 1.0.2914) ",
INTERNET_OPEN_TYPE_PRECONFIG,
NULL,
NULL,
0);
connect = InternetConnect(internet,
L"***.com",
INTERNET_DEFAULT_HTTP_PORT,
NULL,
NULL,
INTERNET_SERVICE_HTTP,
0,
1);
request = HttpOpenRequest(connect,
L"POST",
L"***.php",
NULL,
NULL,
0,
INTERNET_FLAG_KEEP_CONNECTION,
1);
wchar_t* str = L"username=test&password=1&confirm_password=1&email=test@yandex.ru";
HttpSendRequest(request,
str,
sizeof(str),
NULL,
0);
InternetCloseHandle(request);
InternetCloseHandle(connect);
InternetCloseHandle(internet);
return 0;
}
Авторегистрация на сайте (С++ + WinAPI)
Привет всем, мне необходимо написать авторегистратор для сайта без использования левых библиотек, только силами С++ и WinAPI, насколько я знаю для этого надо отправить POST запрос на сервер где будет вся необходимая информация для регистрации. Подскажите функции WinAPI необходимые для отправки POST запросов. Заранее спасибо (=
Цитата: 9l.
Подскажите функции WinAPI необходимые для отправки POST запросов. Заранее спасибо (=
WinInet тебе в помощь, там есть все нужные функции. В гугле тоже по теме отправки post-запросов через WinInet на Си много чего есть.
http://www.rsdn.ru/article/inet/wininet.xml. Разбираюсь как отправить данные...
Нашел неплохую статью про WinInet, если кому то интересно то вот ссылка
Вот что я написал
Вдобавок, в InternetConnect нужно передавать имя домена, а не путь - иначе работать не будет:
Код:
InternetConnect(internet, ... [COLOR="Red"]1[/COLOR]);
HttpOpenRequest(connect, [COLOR="Red"]'localhost'[/COLOR], ... [COLOR="Red"]1[/COLOR]);
HttpOpenRequest(connect, [COLOR="Red"]'localhost'[/COLOR], ... [COLOR="Red"]1[/COLOR]);
Цитата:
lpszServerName | MSDN
Pointer to a null-terminated string that specifies the host name of an Internet server. Alternately, the string can contain the IP number of the site, in ASCII dotted-decimal format (for example, 11.0.1.45).
Всё остальное вроде верно.
Поставь себе какой-нибудь отладчик, который будет запросы ловить - HTTP Debugger к примеру - он тебе покажет все заголовки и прочую инфу о HTTP трафике.
Всё разобрался, спасибо, тема закрыта.