Новичок
Покинул форум
Сообщений всего: 27
Дата рег-ции: Дек. 2015
Помог: 0 раз(а)
|
Здравствуйте! подскажите решение, если не тяжело..
ест один внутренний сайт компании.. (через инет на него не попасть, только через внутреннюю сеть).. так вот..
Мне нужно, чтобы при обращении к этому сайту по адресу _http://company_syte/some_path/some_file внутри PHP кода - данные (HTML, который на этой странице) передавались в сжатом виде (gzip, deflate, compress ...). Сейчас данные передаются без сжатия..
Хотя, когда я смотрю этот сайт в любом браузере (ЛЮБОМ) - страница отправляется сервером в сжатом виде (gzip). А когда обращаюсь в PHP коде к этой странице - получаю в заголовке ответа - что сжатия нету.. я уже что только не пробовал.. помогите добиться сжатия данных при обращении через PHP.
Любые другие сайты (как внутренние, так и из инета.. при обращении к ним внутри PHP кода с опциями контекста, что показаны ниже - отдают свои данные в сжатом виде, если сайт может генерировать сжатие своего кода.. )
заголовки в PHP получены при помощи stream_get_meta_data(); илd get_headers()
Вот опции контекста, что я использую при открытии потоков..
Спойлер (Отобразить)
PHP:
скопировать код в буфер обмена
define ('STREAM_USER_AGENT', 'Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0'); // Default context options for streams $def_context_opts = array( 'http'=>array( 'method'=>'GET', //'proxy'=>'internal-proxy.com:80', 'user_agent' =>STREAM_USER_AGENT, 'header'=> //'Content-type: text/html; charset=utf-8'. //'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' . 'Accept-Encoding: compress;q=1.0, gzip;q=1.0, deflate;q=0.8, sdch;q=0.5, identity;q=0.5, *;q=0.3' . 'Accept-language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3' . 'Cookie: FastPopSessionRequestNumber=8; platform=pc' . 'Cache-Control: max-age=0 '. //'Connection: keep-alive' . 'DNT: 1' . 'Referer: http://en.wikipedia.org/', 'timeout'=>85, //'request_fulluri' =>true //'max_redirects'=>10 ) ); //Setting up default stream context
Вот заголовок ответа сайта, при обращении внутри PHP кода с использованием опций контекста, что дал выше
Спойлер (Отобразить)
CODE ( text):
скопировать код в буфер обмена
Array ( [0] => HTTP/1.1 200 OK [1] => Server: nginx [2] => Date: Tue, 05 Jan 2016 16:14:59 GMT [3] => Content-Type: text/html; charset=UTF-8 [4] => Connection: close [5] => Set-Cookie: platform=pc; expires=Tue, 10-Jan-2062 08:29:58 GMT; Max-Age=1452096899; path=/ [6] => Set-Cookie: userSession=msij61yvt3j5ryp8ky8njdlwqfxwubjc; expires=Thu, 07-Jan-2072 08:29:58 GMT; Max-Age=1767370499; path=/ [7] => Vary: User-Agent [8] => Rating: RTA-5042-1996-1400-1577-RTA [9] => Set-Cookie: RNLBSERVERID=ded1714; path=/ )
А это заголовок ответа этого же сайта, при обращении в браузере
Спойлер (Отобразить)
CODE ( text):
скопировать код в буфер обмена
HTTP/1.1 200 OK Server: nginx Date: Tue, 05 Jan 2016 13:32:07 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Vary: User-Agent Rating: RTA-5042-1996-1400-1577-RTA Content-Encoding: gzip
А это заголовок запроса браузера
Спойлер (Отобразить)
CODE ( text):
скопировать код в буфер обмена
GET /document_law/3060771 HTTP/1.1 Host: somehost.com User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:30.0) Gecko/20100101 Firefox/30.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3 Accept-Encoding: gzip, deflate DNT: 1 Cookie: FastPopSessionRequestNumber=8; platform=pc; _ga=GA1.2.302926937.1425596941; __atuvc=0%7C50%2C4%7C51%2C30%7C52%2C8%7C0%2C2%7C1; local_storage=1; gateway=56469083; gateway_security_key=6dbfca5fe39f71d3c1ab7683b2d0bbc6; expiredEnterModalShown=1; expiredEnterModalShown_security_key=0bddb66fa85f5b04e1965b8789b44432; userSession=1bbjnu3g8k56nhaav1ansdrralaxponn; RNLBSERVERID=ded1683; performance_timing=other; FastPopSessionRequestNumber=3; playlist_reset_playlist=1; _gat=1 Connection: keep-alive Cache-Control: max-age=0
А это заголовок типичного ответа при обращении через PHP на любой другой сайт (как внутренний, так и в инете.. ) с исползованием опций контекста, что дал выше..
Спойлер (Отобразить)
CODE ( text):
скопировать код в буфер обмена
Array ( [0] => HTTP/1.1 200 OK [1] => Server: nginx [2] => Date: Tue, 05 Jan 2016 16:22:56 GMT [3] => Content-Type: text/html; charset=UTF-8 [4] => Content-Length: 30523 [5] => Connection: close [6] => X-Powered-By: PHP/5.5.30 [7] => Expires: Thu, 19 Nov 1981 08:52:00 GMT [8] => Cache-control: private, max-age=0 [9] => Set-Cookie: xf_session=d71d38dc39f78c932be8763951b9c247; path=/; httponly [10] => X-Frame-Options: SAMEORIGIN [11] => Last-Modified: Tue, 05 Jan 2016 16:22:56 GMT [12] => Content-Encoding: gzip [13] => Vary: Accept-Encoding )
(Отредактировано автором: 05 Января, 2016 - 19:25:37)
|