PDA

Просмотр полной версии : c++ socket + apache? http headers


zer0ska
28.12.2008, 16:02
привет всем.
есть проблемма.
Программа на си с помошью сокетов отправляет гет запрос на сервер затем читает ответ в переменную но в ответе содержатся еше заголовки отделенные от контента с помощью \r\n
как отрезать только заголовки а контент оставить?

Delimiter
28.12.2008, 16:07
насколько я помню там не просто \r\n
а \r\n\r\n.... вот и ищи

if(pointer=strstr(buf,"\r\n\r\n")!=0)
{
// веселимся туть
}

zer0ska
28.12.2008, 16:13
спасибо.
но если можно по конкретнее
к примеру переменная с текстом ответа сервера txt
покажите на примере пожалуйста :)
и до кучи спрошу как в C++ выполнять команды cmd ??
Зарание благодарен.
:)

Delimiter
28.12.2008, 16:36
char *pointer;

if(pointer=strstr(txt,"\r\n\r\n")!=0)
{
pointer+=4;

в pointer маccив для анализа с обрубленным head
}

zer0ska
28.12.2008, 18:00
блин всебы хорошо но txt это string ((((

Chaak
28.12.2008, 18:41
Отвечу сразу на два вопроса :)
#include <iostream>
#include <windows.h>
#include <conio.h>
#include <string>

using namespace std;

void main()
{
setlocale(LC_ALL,"Russian"); //установка русского языка
system("color F2"); //команда в консоле

string response("headers\r\n\r\nbody"); //ответ от сервера
signed int first_ent; //переменная с первым вхожднием в строку


first_ent = response.find("\r\n\r\n"); //ищем первое вхождение в строку

cout<<response.substr(first_ent + 4, response.length()-1); //обрезаем строку от конца \r\n\r\n до конца строки

_getch();
}

xismyname
30.12.2008, 06:06
блин всебы хорошо но txt это string ((((

и где в языке C видел тип string ???

[dei]
30.12.2008, 07:05
и где в языке C видел тип string ???
он про С++

xismyname
31.12.2008, 08:25
']он про С++

Программа на си
А это что тогда ? :)

zer0ska
31.12.2008, 22:53
c++ socket + apache? http headers
--