
Pavel
11.04.2018
02:01:24
А у меня все нормально отдает
> GET / HTTP/1.1
> Host: romana.ru
> User-Agent: curl/7.47.0
> Accept: */*
>
< HTTP/1.1 200 OK
< Server: nginx
< Date: Wed, 11 Apr 2018 02:00:28 GMT
< Content-Type: text/html; charset=UTF-8
< Content-Length: 104260
Что-то ты не так посылаешь


Дмитрий
11.04.2018
02:02:30
Народ, подскажите такой момент. Стоит задача у сайтов получать ответ с главной страницы, и разделять заголовки отдельно, а сам HTML контент отдельно.
Обычно я отделяю заголовки от тела HTML разделителем: \r\n\r\n но очень часто бывает, что сайт отдаёт как бы два разных заголовка одновременно, в качестве примера сайт https://romana.ru
Отдаёт:
HTTP/1.0 200 Connection established
\r\n\r\n
HTTP/1.1 200 OK
тут уже обычный заголовок идёт
\r\n\r\n
тут HTML код
Естественно первый заголовок Connection established может называться по другому, и не обязательно 200 отдавать, и так далее. Вопрос, как в таком случае грамотно и без ошибок поделить ответ сервера на заголовки и сам HTML?
Контент сайта получаю через curl
раздели по PHP_EOL . PHP_EOL, реверсни массив, $arr[1] - body, $arr[2] - header. Если уж не хочешь разбиратсья с курлом)

Google

Время
11.04.2018
02:04:50
замена \r\n\r\n на PHP_EOL . PHP_EOL ровным счетом ничего не меняет, если есть "левый" заголовок, то он становится первым в массиве, а вторым вместо HTML становится второй заголовок и всё сбивает.

Дмитрий
11.04.2018
02:05:11
реверсни массив)
$arr[0] - будет пустым, $arr[1] - body, $arr[2] заголовок, предшествующий body

Время
11.04.2018
02:06:33
Что-то ты не так посылаешь
ого, действительно, проблема не в курле, а в используемом прокси, он и добавляет этот заголовок, но он может и другие заголовки добавлять, как можно вопрос решить?
curl_setopt($ch, CURLOPT_PROXY, '127.0.0.1:9050'); использую обычный тор (advor) он то и добавляет по непонятному алгоритму дополнительный хидер. Щас попробую реверснуть массив.

Pavel
11.04.2018
02:08:57
А чем ты парсишь ответ? Своим парсером каким-то ?
http://www.nestor.minsk.by/sr/2003/04/30417.html вот накопал что-то, похоже что метод CONNECT добавляет еще одну http строку в запрос

Время
11.04.2018
02:09:46

Pavel
11.04.2018
02:10:04
В таком случае тебе надо в коде понимать что если ты идешь через прокси значит надо внешний запрос от проксирующего сервера удалять.
Возьми лучше guzzle

Время
11.04.2018
02:12:53
А тут ещё момент такой возникает.. Если в самом теле HTML страницы содержится двойной перенос строки с кареткой, то получается запрос тоже некорректно из за этого отработает. А кроме как отделять заголовок от HTML по разделителю \r\n\r\n других вариантов похоже и нет.

Pavel
11.04.2018
02:16:33
Не знаю надо читать ман по курлу

Google

Pavel
11.04.2018
02:16:53
Но как видишь пока что он не очень это умеет

Время
11.04.2018
02:18:10
Да я паралельно ломаю голову, если в HTML теле встретится \r\n\r\n вот с этим как быть..


Дмитрий
11.04.2018
02:37:28
Да я паралельно ломаю голову, если в HTML теле встретится \r\n\r\n вот с этим как быть..
в описании CURLOPT_HEADEROPT есть
Что делать с заголовками. Одна из следующих опций: CURLHEADER_UNIFIED: заголовки, указанные в CURLOPT_HTTPHEADER будут использованы в запросах к серверам и прокси. Если разрешена эта опция, CURLOPT_PROXYHEADER не будет иметь эффекта. CURLHEADER_SEPARATE: заголовки CURLOPT_HTTPHEADER будут отсылаться только на сервер, но не на прокси. На прокси заголовки должны посылаться CURLOPT_PROXYHEADER. Обратите внимание, что если запросы типа non-CONNECT будут слаться на прокси, то libcurl будет посылать как серверные, так и прокси заголовки. Если же происходит CONNECT, libcurl пошлет на прокси только заголовки CURLOPT_PROXYHEADER, а потом заголовки CURLOPT_HTTPHEADER только на сервер. По умолчанию CURLHEADER_SEPARATE, начиная с cURL 7.42.1, и CURLHEADER_UNIFIED до него.


MadMax
11.04.2018
05:54:38
Ребята, добрый день. Возникла такая ситуевина
Установил я yii фреймворк при помощи команды
composer create-project --prefer-dist yiisoft/yii2-app-basic someFolder
Перехожу на сайт - вижу белый экран, вовзаращюсь в консоль, меняю директорию на ту, куда был установлен фреймворк, вписываю
php requirements.php
Мне выдает что
The path to yii framework seems to be incorrect

Дмитрий
11.04.2018
06:01:09

MadMax
11.04.2018
06:01:42
У меня php extensions многих нет

Дмитрий
11.04.2018
06:03:16
при создании проекта композером ошибки какие нибудь были в логе?

MadMax
11.04.2018
06:05:17
А именно curl и zip
А от него столько ошибок лилось

Algis
11.04.2018
06:26:40

Artem
11.04.2018
06:26:46
а кто как реализует graceful shutdown nginx + php-frm ? я на сколько понял все что может php -это установить таймаут в ini файле, что совсем не хочется делать, но единственное что приходит в голову -это убивать nginx, чтобы запросы перестали идти, потом ждать какое -то время и вырубать php.

MadMax
11.04.2018
06:34:55
Не, сейчас без всяких ошибок установилось, и все равно белый экран

Mark
11.04.2018
06:38:16
WordPress Meetup #5
20 апреля, в Фабрике
https://www.meetup.com/kharkiv-wordpress/events/249630243/

Дмитрий
11.04.2018
06:56:01

Artem
11.04.2018
06:58:49

Vladij
11.04.2018
09:31:38
всем привет
надо помощь
есть отображение слайдера с помощь slick slider. Движок Битрикс. Отображаются картинки. Я добавил свойство чтобы в слайдер добавлять, при нужде), видео баннер. Отображение видео добавил после отображения картинки, но теперь после картинки в скрытом формате видео постоянно добавляется после картинки, чем чревато слёту вёрстки. Как мне правильно написать условие, чтобы в слайдере отображалось в блоке видео - видео, и при переключении блок видео как бы отключать чтобы не слетала вёрстка

Google

Vladij
11.04.2018
09:36:59
спасибо
php
данные передаются из массива

Artem
11.04.2018
09:38:34

Vladij
11.04.2018
09:38:50
дык ответа небыло)

Konstantin
11.04.2018
09:39:26
а при чем здесь вообще слайдер и пхп?

Vladij
11.04.2018
09:40:24

Artem
11.04.2018
09:40:30
дык ответа небыло)
дык этот вопрос очень прост и легко гуглится, не требует ничего кроме основ. Более того это не форум битрикса. Если
> Я добавил свойство чтобы в слайдер добавлять, при нужде), видео баннер
то кто мешает написать в шаблоне
if (свойство == есть) показать;
А вообще ответа нет потому, что никому это не интересно )))

Konstantin
11.04.2018
09:40:36
ты не можешь из битрикса вывести видео?

Vladij
11.04.2018
09:40:50

Konstantin
11.04.2018
09:41:33
а в чем тогда проблема? если ты не можешь его правильно "всунуть" в слайдер, то битрикс и пхп тут не при чем

Vladij
11.04.2018
09:41:49
ку

Grigori
11.04.2018
09:42:42

Vladij
11.04.2018
09:43:58
короч ясно. Спасибо\


Artem
11.04.2018
09:46:49
Спасибо
странно что не зная как использовать ветвления уже битриксом пользуетесь. Но собственно каждый сам решает, просто если не сложно, когда вас возьмут на работу отпишитесь тут пожалуйста и расскажите coolstory как вы проходили собеседование и что это за контора будет. Очень интересно на прогресс будет посмотреть.

Google

Vladij
11.04.2018
09:47:52

Artem
11.04.2018
09:48:03

Vladij
11.04.2018
09:48:34
не в айти компании
немогу понять, к чему вопросы?

Artem
11.04.2018
09:49:46

Vladij
11.04.2018
09:50:32
я просто задал нормальный вопрос в группе которая называется phpclub.ru
что не так?
кому Вы что доказываете, говоря что я то и то не умею и как я вообще работаю
что-то не умею что-то умею

Admin
ERROR: S client not available

Vladij
11.04.2018
09:51:39
я просто задал один банальный вопрос
по PHP
есть какие-то начинания, усовершенствование

Artem
11.04.2018
09:52:51
я просто задал нормальный вопрос в группе которая называется phpclub.ru
я же говорю ничего. Просто у меня лично использование битрикса и не понимание ветвления, еще и делая это за деньги вызывает когнитивный диссонанс :) Вот и интересно где такие специалисты, какие продукты они делают, сколько им платят и т.д... может я свой фейсбук хочу потроить и данные собираю для кластеризации аудитории )))

Vladij
11.04.2018
09:53:37
без меня

Konstantin
11.04.2018
09:53:43
Судя по качеству большинства сайтов на битриксе, таких "специалистов" не один и не два

Artem
11.04.2018
09:54:59
без меня
ну ок, как хотите, участие в опросе сугубо добровольное. Просто люблю статистику :) А если не секрeт. раз уж вас взяли не в IT компанию, где некому проверять знания, т.е. у вас какое -то профильное образование?

Vladij
11.04.2018
09:55:20
нет

Дмитрий
11.04.2018
09:55:56
нет
вы директор этой фирмы?)

Vladij
11.04.2018
09:56:08
опросник сбросьте

Google

Vladij
11.04.2018
09:56:11
заполню

Artem
11.04.2018
09:57:46
опросник сбросьте
вы тогда скиньте свои данные, почту, телефон, номер кредитной карты и cvv код. Это нужно для персонализации. И чтобы избежать дублирования анкет. Для вас будет проведена тестовая транзакция, снимут $1, но деньги потом вернут. Это нужно для подтверждения личности. Можно прям сюда данные кидать

Vladij
11.04.2018
09:58:12
одну минуту
достану карту ?

Gleb
11.04.2018
10:00:37

Vladij
11.04.2018
10:01:06
через битрикс
и слайдер не забудьте вставить с видео
которое будет ламать Вашу верстку

Artem
11.04.2018
10:01:31

Gleb
11.04.2018
10:04:29

Артем
11.04.2018
10:12:50

Vladij
11.04.2018
10:13:21

Artem
11.04.2018
10:14:38

Vladij
11.04.2018
10:15:54

Artem
11.04.2018
10:16:36

Vladij
11.04.2018
10:16:49

Dmitry
11.04.2018
10:17:34
угу, вот только приделать что-то в битрикс, что там не предусмотрено, это уже далеко не просто езда на авто

Vladij
11.04.2018
10:18:46

Artem
11.04.2018
10:32:10

Gleb
11.04.2018
10:57:45
пытливые умы, что здесь не так в запросе, чёт я не вижу...
CREATE TABLE IF NOT EXISTS posts (
postId INT NOT NULL AUTO_INCREMENT,
img VARCHAR(100) NULL,
text MEDIUMTEXT NULL,
blogId INT NOT NULL DEFAULT 1,
PRIMARY KEY (postId),
INDEX blogId (blogId),
CONSTRAINT blogId
FOREIGN KEY (blogId)
REFERENCES apollo_dev1.blogs (blogId)
ON DELETE NO ACTION
ON UPDATE NO ACTION,
CONSTRAINT postId
FOREIGN KEY (postId)
REFERENCES apollo_dev1.commentRels (postId)
ON DELETE NO ACTION
ON UPDATE NO ACTION)
ENGINE = InnoDB
типы связанных данных совпадают, но, говорит что не возможно создать связь
а точнее #1215 - Невозможно добавить ограничения внешнего ключа