Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   Генерация HTTP запросов на c++ (https://forum.antichat.xyz/showthread.php?t=12091)

Trinity 24.12.2005 03:18

Генерация HTTP запросов на c++
 
Искала, искала и ничего не нашла.. Мож кто знает как
отправить заголовки? Например эти:

POST *** HTTP/1.0
Accept: image/gif */*
Referer: ***
Accept-Language: ru
Content-Type: application/x-www-form-urlencoded
Proxy-Connection: Keep-Alive
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; FDM)
Host: ***
Content-Length: **
Pragma: no-cache
Cookie: language=ru

name=asavav&pass1=aaa&pass2=aaa


И чтобы он в какую-ниб. переменную ответ сервера записал

madnet 24.12.2005 03:32

http://antichat.ru/inetcrack/

nerezus 24.12.2005 07:52

boost.org

JazzzSummerMan 24.12.2005 09:39

мэднет ну трините вроде как нужно знать как написать)
Алгол помню хотел написать такую статью по программированию чтобы работать с заголовками, расхотел наверно

Deem3n® 24.12.2005 14:09

Вот статья с примером
А вот тут и тут можно еще найти

qBiN 25.12.2005 11:05

Цитата:

boost.org
Нерезус нафига использовать буст то? Можно погемороится с winsock что я собственна щас и делаю))

nerezus 25.12.2005 11:45

Цитата:

нафига использовать буст то?
считаешь себя умнее профессиональных с++ кодеров?

Цитата:

Можно погемороится с winsock
а на линухе есть винсок?

SNK 25.12.2005 23:43

Простой пример
 
Вот мизерный пример отправки HTTP запроса на C++

Код:

        WSAData wsa;
        SOCKET sock;
        struct sockaddr_in addr;
        char buffer[1024] = "GET http://antichat.ru/cgi-bin/s.jpg?test HTTP/1.0\r\nHost: www.antichat.ru\r\n\r\n";
        struct hostent *host=NULL;
        char shost[255] = "www.antichat.ru";
        HANDLE hEvent;
        if (WSAStartup(MAKEWORD(1, 1), &wsa) != 0)
        {
                AfxMessageBox("Can't load a correct version of WinSock");
                return;
        }

        sock = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);

        if (sock == SOCKET_ERROR)
        {
                AfxMessageBox("Can't load WinSock");
        }

        addr.sin_addr.s_addr = htonl(INADDR_ANY);
        addr.sin_family = AF_INET;
        host = gethostbyname(shost);
        CopyMemory(&addr.sin_addr, host->h_addr_list[0],host->h_length);
        addr.sin_port = htons(80);

        connect(sock, (struct sockaddr *) &addr, sizeof (addr));
        send(sock,buffer,sizeof(buffer),0);
        hEvent = CreateEvent(0,false,true,"");
        WaitForSingleObject(hEvent,2000);
        recv(sock,buffer,1024,0);
        closesocket(sock);
        WSACleanup();
        SetDlgItemText(IDC_EDIT1,buffer);

buffer - HTTP запрос

Я знаю что это не лутший способ чтения ответа сервера но для примера пойдет...
Если нужна будет помощь пиши на мыло.

qBiN 26.12.2005 14:42

Цитата:

а на линухе есть винсок?
Вроде да.
Цитата:

считаешь себя умнее профессиональных с++ кодеров?
Свой велосипед всегда удобнее...

nerezus 26.12.2005 14:54

Цитата:

Вроде да.
вдумайся: WinSock. Win. Windoze.


Время: 10:37