GET-POST, проверить содержимое на пустоту

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Такое дело, если база сайтов на одном движке, но все равно у них есть отличия из-за версий движка и не все работают одинаково.
Мне нужно при гет-пост запросах проверять, не пустое ли содержимое(заголовки тоже нужны всегда, отключить не выйдет), если пустое, то делать все заново с галочкой на редирект(тогда то, что было пустым - станет не пустым, ровно и наоборот, с галочкой работает меньшая часть сайтов).
Есть какие-то способы взять содержимое, кроме регуляркой? Т.к. норм регулярка, чтоб учитывала всегда все ньюансы у меня особо не вышла.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Такое дело, если база сайтов на одном движке, но все равно у них есть отличия из-за версий движка и не все работают одинаково.
Мне нужно при гет-пост запросах проверять, не пустое ли содержимое(заголовки тоже нужны всегда, отключить не выйдет), если пустое, то делать все заново с галочкой на редирект(тогда то, что было пустым - станет не пустым, ровно и наоборот, с галочкой работает меньшая часть сайтов).
Есть какие-то способы взять содержимое, кроме регуляркой? Т.к. норм регулярка, чтоб учитывала всегда все ньюансы у меня особо не вышла.
Не понимаю, зачем регулярки на пустое содержимое? Сравнения переменной ответа с пустотой недостаточно?
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Не понимаю, зачем регулярки на пустое содержимое? Сравнения переменной ответа с пустотой недостаточно?
Смотри, в ответе мне так же нужны заголовки(в 90% случаев все норм, я беру куки и иду дальше по сайту). Но иногда ответ может быть вида:
Код:
HTTP/1.1 303 See other
Server: nginx/1.10.2
Date: Tue, 22 Nov 2016 19:58:38 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 20
Connection: keep-alive
Location: http://site.ru
Content-Encoding: gzip

HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Tue, 22 Nov 2016 19:58:40 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 5299
Connection: keep-alive
X-Logged-In: False
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
X-Cacheable: NO:Not Cacheable
Accept-Ranges: bytes
X-Served-From-Cache: Yes

-тут должно быть содержание, а его нет-
Вообще я больше надеялся, кто кто-то в курсе, почему 2 сайта на одном движке могут работать так, что по одному можно ходить(регистрироваться и т.д) только без галочки редирект, а по другому только с ней. И что вообще с этим делать...
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Смотри, в ответе мне так же нужны заголовки(в 90% случаев все норм, я беру куки и иду дальше по сайту). Но иногда ответ может быть вида:
Код:
HTTP/1.1 303 See other
Server: nginx/1.10.2
Date: Tue, 22 Nov 2016 19:58:38 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 20
Connection: keep-alive
Location: http://site.ru
Content-Encoding: gzip

HTTP/1.1 200 OK
Server: nginx/1.10.2
Date: Tue, 22 Nov 2016 19:58:40 GMT
Content-Type: text/html; charset=utf-8
Content-Length: 5299
Connection: keep-alive
X-Logged-In: False
Cache-Control: no-cache
Pragma: no-cache
Vary: Accept-Encoding
Content-Encoding: gzip
X-Cacheable: NO:Not Cacheable
Accept-Ranges: bytes
X-Served-From-Cache: Yes

-тут должно быть содержание, а его нет-
Вообще я больше надеялся, кто кто-то в курсе, почему 2 сайта на одном движке могут работать так, что по одному можно ходить(регистрироваться и т.д) только без галочки редирект, а по другому только с ней. И что вообще с этим делать...
Как выглядит ответ без содержания? важны детали. Есть ли переносы, пробелы и т.д. Локэйшены мне не важны, но структуру нужно передать верно и я помогу с регуляркой
 

Sobesednic

Client
Регистрация
24.12.2012
Сообщения
391
Благодарностей
77
Баллы
28
правильней проверять есть нужный текст или нет а не наоборот
 

danni

Client
Регистрация
01.07.2012
Сообщения
373
Благодарностей
6
Баллы
18
Как выглядит ответ без содержания? важны детали. Есть ли переносы, пробелы и т.д. Локэйшены мне не важны, но структуру нужно передать верно и я помогу с регуляркой
Вот например. Это не сложно, например в список загнать и удалить пустые строки, содержащие двоеточие и "HTTP/1.1", ничего не останется, если такой ответ будет, а если ответ будет не пустой, то теги останутся)
Код:
HTTP/1.1 303 See other
Date: Fri, 25 Nov 2016 20:59:57 GMT
Server: Apache
Set-Cookie: b3f9d7ce9744ef039a2b5b78fbc1bb27=q9qenfvo0bjvluc4rsnv5vodh0; path=/
Location: http://site.ru
Content-Length: 0
Connection: close
Content-Type: text/html; charset=utf-8

HTTP/1.1 303 See other
Date: Fri, 25 Nov 2016 20:59:57 GMT
Server: Apache
Set-Cookie: b3f9d7ce9744ef039a2b5b78fbc1bb27=q9qenfvo0bjvluc4rsnv5vodh0; path=/
Location: http://site.ru
Content-Length: 0
Connection: close
Content-Type: text/html; charset=utf-8
правильней проверять есть нужный текст или нет а не наоборот
Все чуть сложнее. Во многих таких ситуациях это происходит на гет-запросе подтверждения почты, его "содержание" мне не нужно да и ничего особо характерного там нет, чтобы проверять.
Я просто действительно удивлен, что никто не может мне объяснить, в чем прикол этого редиректа и как так получается... И что можно сделать интересного, а не костылями проверять на пустое содержание и делать ответвление с галочкой редиректа, которое будет в том же шаблоне, где и блоки без нее.
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 605
Благодарностей
4 596
Баллы
113
Вот например. Это не сложно, например в список загнать и удалить пустые строки, содержащие двоеточие и "HTTP/1.1", ничего не останется, если такой ответ будет, а если ответ будет не пустой, то теги останутся)
Код:
HTTP/1.1 303 See other
Date: Fri, 25 Nov 2016 20:59:57 GMT
Server: Apache
Set-Cookie: b3f9d7ce9744ef039a2b5b78fbc1bb27=q9qenfvo0bjvluc4rsnv5vodh0; path=/
Location: http://site.ru
Content-Length: 0
Connection: close
Content-Type: text/html; charset=utf-8

HTTP/1.1 303 See other
Date: Fri, 25 Nov 2016 20:59:57 GMT
Server: Apache
Set-Cookie: b3f9d7ce9744ef039a2b5b78fbc1bb27=q9qenfvo0bjvluc4rsnv5vodh0; path=/
Location: http://site.ru
Content-Length: 0
Connection: close
Content-Type: text/html; charset=utf-8

Все чуть сложнее. Во многих таких ситуациях это происходит на гет-запросе подтверждения почты, его "содержание" мне не нужно да и ничего особо характерного там нет, чтобы проверять.
Я просто действительно удивлен, что никто не может мне объяснить, в чем прикол этого редиректа и как так получается... И что можно сделать интересного, а не костылями проверять на пустое содержание и делать ответвление с галочкой редиректа, которое будет в том же шаблоне, где и блоки без нее.
ну если ты сам всё знаешь, к тому же это не сложно - загони, удали)
 

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