Как включить сжатие gzip с помощью PHP Simple HTML DOM Parser

Я попробовал несколько вещей, чтобы включить сжатие gzip с помощью PHP Simple HTML DOM Parser, но пока ничего не работает. С помощью ini_set мне удалось изменить пользовательский агент, поэтому я решил, что возможно также включить сжатие gzip?

include("simpdom/simple_html_dom.php"); ini_set('zlib.output_compression', 'On'); $url = 'http://www.whatsmyip.org/http_compression/'; $html = file_get_html($url); print $html; 

Веб-сайт выше проверяет его. Пожалуйста, дайте мне знать, если я полностью ошибаюсь.

====

ОБНОВИТЬ

Для всех, кто пытается достичь того же, лучше всего использовать cURL, а затем использовать парсер dom так:

 $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // Define target site curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); // Return page in string curl_setopt($cr, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2'); curl_setopt($ch, CURLOPT_ENCODING , "gzip"); curl_setopt($ch, CURLOPT_TIMEOUT,5); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE); // Follow redirects $return = curl_exec($ch); $info = curl_getinfo($ch); curl_close($ch); $html = str_get_html("$return"); 

Related of "Как включить сжатие gzip с помощью PHP Simple HTML DOM Parser"

CURLOPT_ENCODING – это то, что ответ возвращается (принимается как) gzipped data – настройки сервера (ob_start («ob_gzhandler») или php_ini ..) сообщают серверу данные OUTPUT gzipped.

Также как если бы вы пошли на эту страницу с браузером, который не поддерживал gzip. Чтобы принять данные gzip, вам нужно использовать завиток, чтобы вы могли сделать это различие.

Просто добавьте следующую строку в самый верх скрипта PHP, который выводит данные:

  ob_start("ob_gzhandler"); 

Справка

——-Обновить——–

Вы также можете попробовать включить gzip Compresion sitewide через файл .htaccess. Что-то вроде этого должно gzip содержание ваших сайтов, но изображений:

 # Insert filter SetOutputFilter DEFLATE # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won't work. You can use the following # workaround to get the desired effect: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Don't compress images #SetEnvIfNoCase Request_URI \ \.(?:gif|jpe?g|png)$ no-gzip dont-vary # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary