#php
#php
Вопрос:
Я пытаюсь напечатать HTML внешнего сайта с помощью curl, но когда я перехожу к печати html, я просто получаю кучу плохих символов:
DÓLþ¢GΖ´ï!ñ{HÑ,Jþ»H¹§L ÷53j?‰²î¡<‘*tÜe÷uÖbìê~Æô¬²c˜‹§ ~áäÆL#f?ⶊªþU™á˜ÉÉOæ{^¤ëaÀ Tê"1Û¨Dtî’œxˆk‘:@ŽD5î:'¶e*³q‘׸`…±¾ôäó÷ð1j7þä‘åQ6®9bcxã„A2ã—-ÇøüåÉò÷2{ÂÐe桢ǙŒÄg©Az!Ø¡>±zך ;f RZÛÝ€ížáÒžHa¬¢Æ'ë•ñ þ=Ð=ºtyšÖâå'ÇpžÄ¦ÆN½€5½roåðFe¹)ˆš`ØnhŠy(GÆÔ} Bu7H¥JzÐ iVê÷áÆ”øG>6HÿUµÞhµj YH-ÌaaEÚx±‰…Êâ£-ûeÎqCÆLÌå㘎‰†LÐÆM I]€a)Ï.$—ÅH••£ ŒŒ’ªÉ;cŽc(i´¥!I]‹€„³tFc^ë'€e±øÉ_øß
Вот мой код:
$curl = curl_init();
curl_setopt ($curl, CURLOPT_URL, "http://www.thesite.com/");
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec ($curl);
curl_close ($curl);
print $result;
Любая помощь была бы отличной,
Спасибо!
Комментарии:
1. Итак, какой URL вы запрашиваете? Вы пробовали запрашивать это в браузере с помощью пустого пользовательского агента? Что вы получаете?
2. URL-адрес не важен, потому что он будет часто меняться, я просто хочу захватить весь HTML-код в документе, на который я указываю curl.
3. Вы получаете заголовки обратно? Проверьте заголовок Content-Encoding. тело может быть сжато. Если вы даже не получаете заголовки обратно, вы уверены, что подключаетесь к HTTP-серверу?
4. Не могли бы вы объяснить немного больше?
Ответ №1:
Если ответ GZIP’d, вы можете использовать это:
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
Смотрите: http://www.php.net/manual/en/function.curl-setopt.php
Чтобы убедиться, что это gzip’d, проверьте заголовки (см. CURLOPT_HEADER
).