Разделить хедер от боди

biohan

Client
Регистрация
09.04.2013
Сообщения
51
Благодарностей
19
Баллы
8
Всем привет.
Делаю запрос с ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody
Как правильно разделить ответ на 2 части?
 

Radzhab

Client
Регистрация
23.05.2014
Сообщения
1 500
Благодарностей
1 268
Баллы
113
Думаю никак ,Response type (cane take values: BodyOnly, HeaderOnly, HeaderAndBody, File).

т.е. одно из двух
 

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
Берем HeaderAndBody, а дальше regexp/split - читаем RFC - там \n\n разделение вроде как я помню, но всего не упомнишь сами понимаете...
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 684
Благодарностей
4 641
Баллы
113
Берем HeaderAndBody, а дальше regexp/split - читаем RFC - там \n\n разделение вроде как я помню, но всего не упомнишь сами понимаете...
только заголовков может быть больше одного, и в хтмле может встретиться такое разделение. Думаю, нужно пробовать по доктайпу или тегу хтмл
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
715
Благодарностей
409
Баллы
63
Код:
var separator = new string[] { string.Format("{0}{0}{0}", Environment.NewLine) };
var arr = project.Variables["Response"].Value
    .Trim()
    .Split(separator, StringSplitOptions.None);

project.Variables["ResponseHeaders"].Value = arr.First();
project.Variables["ResponseBody"].Value = arr.Last();
 
  • Спасибо
Реакции: grex211

Gfoblin

Client
Регистрация
30.05.2013
Сообщения
4 596
Благодарностей
1 014
Баллы
113
только заголовков может быть больше одного, и в хтмле может встретиться такое разделение. Думаю, нужно пробовать по доктайпу или тегу хтмл
не заголовок четко - один и он отделен от остального )
в html да может... поэтому в пхп точно знаю list($header, $body) = explode("\r\n\r\n", $response, 2); т.е. не более 2х раз надо разделить...
И да я с разделителем не угадал немного :-) он "\r\n\r\n" - 2 полных перевода строки, а не как в линухах без \r
Хотя вон народ пишет что есть ответ HTTP/1.1 100 Continue - вот там типа несколько раз может быть \r\n\r\n - но я таких ответов не встречал :-)
Т.е. поидее надо проверить ответ случайно не HTTP/1.1 100 Continue и тогда да херачить дальше...
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)