подскажите регулярку для отделения заголовков от тела в запросе

  • Автор темы Автор темы volody00
  • Дата начала Дата начала

volody00

Client
Регистрация
06.09.2016
Сообщения
991
Реакции
1 111
Баллы
93
Вот пример запроса:
C#:
Развернуть Свернуть Копировать
string response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, "https://google.com", string.Empty, "application/x-www-form-urlencoded", "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody, 30000, "", project.Profile.UserAgent, true, 5, null, project.Directory, false, true, project.Profile.CookieContainer, true);
суть в том, что в ответе нужно оставить только тело. Замучился уже, никак не могу подобрать норм вариант. При чем в конструкторе вроде как можно с помощью переноса строк, а в коде чёт не робит.

P.S. Я знаю, что можно было в перечислении передать bodyOnly, но мне не подходит, т.к. анализируются заголовки ответа, а затем мне надо поработать с телом запроса
 
Вот пример запроса:
C#:
Развернуть Свернуть Копировать
string response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET, "https://google.com", string.Empty, "application/x-www-form-urlencoded", "", "UTF-8", ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.HeaderAndBody, 30000, "", project.Profile.UserAgent, true, 5, null, project.Directory, false, true, project.Profile.CookieContainer, true);
суть в том, что в ответе нужно оставить только тело. Замучился уже, никак не могу подобрать норм вариант. При чем в конструкторе вроде как можно с помощью переноса строк, а в коде чёт не робит.

P.S. Я знаю, что можно было в перечислении передать bodyOnly, но мне не подходит, т.к. анализируются заголовки ответа, а затем мне надо поработать с телом запроса


C#:
Развернуть Свернуть Копировать
string response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET,
                                           "https://google.com",
                                           string.Empty,
                                           "application/x-www-form-urlencoded",
                                           "",
                                           "UTF-8",
                                           ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
                                           30000,
                                           "",
                                           project.Profile.UserAgent,
                                           true,
                                           5,
                                           null,
                                           project.Directory,
                                           false,
                                           true,
                                           project.Profile.CookieContainer,
                                           true);
 
C#:
Развернуть Свернуть Копировать
string response = ZennoPoster.HTTP.Request(ZennoLab.InterfacesLibrary.Enums.Http.HttpMethod.GET,
                                           "https://google.com",
                                           string.Empty,
                                           "application/x-www-form-urlencoded",
                                           "",
                                           "UTF-8",
                                           ZennoLab.InterfacesLibrary.Enums.Http.ResponceType.BodyOnly,
                                           30000,
                                           "",
                                           project.Profile.UserAgent,
                                           true,
                                           5,
                                           null,
                                           project.Directory,
                                           false,
                                           true,
                                           project.Profile.CookieContainer,
                                           true);
я отписывал, что такой вариант не подходит. мне нужно проанализировать заголовки, прежде чем работать с телом, а в этом случае я просто не получаю заголовки.

P.S. выше кинул регулярку, если кому надо, но пока не знаю, насколько она хороша (уже который раз переделываю)
 
Заголовки отделяются от тела двумя пустыми строками. Следовательно, как я не дружу с регулярками, сделал бы так:
C#:
Развернуть Свернуть Копировать
string headers = response.Split(new[]{string.Format(@"{0}{0}{0}", Environment.NewLine)}, StringSplitOptions.None)[0];
string body = response.Replace(headers, "").Trim();
 
  • Спасибо
Реакции: volody00

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