Почему file_get_contents () не имеет такой же доступ, как curl_exec ()?

0

Я загружаю favicons с помощью PHP, и я потратил некоторое время на устранение неполадок, прежде чем заметил, что curl_exec работает на некоторых сайтах, а file_get_contents - нет.

Например, вот ответ от http://www.hellmanns.com/favicon.ico

file_get_contents

Предупреждение: file_get_contents (http://hellmanns.com/favicon.ico): не удалось открыть поток: HTTP-запрос не удался! HTTP/1.0 403 Запрещено в /home/arcmarks/public_html/arcmarks/source/class.FaviconFinder.php в строке 44

curl_exec

h (e? C⬠^ ÏÉÌŒ $ B # (ÌlcYfƒy9C ¥ D; üès¨H8§ ¥ § <& 5é¨QÛœJ O5Öžfå§LíáÛÜ߸n ÜŒa ~ †}... l "'±" o} þþþ ¥ FHòòÞïïï/Á ± mžç¿ ~ L "-, y¾i'öá̳²¶ £ A%" §? Ù "" i² ~ Âh * ^? ÖáμÅÅ ØezU [¢ <4¡ -5;/ïÀöæØaéìÐÌ † cN,; U @Nã½ §Õðî ‰ Õ¨îѹk_jÖšmî'ÌáÜÝ [æ -ì · D¡? -s wE <# õ¹ "$ 0" 6 & ï²1Ú|Žž # "+ $ §HR ¢ @3 €, 3 @üÿÿþÿÿP: H € ô¯VüáBâ ? "J W ~ ± |ª † ôòóaQ ŸE7Ç | @F2? G2? Åóãäå¸ ~ Q p, KEv (Cud). # LUH4mkr $ gj [ahVf9 & 2Se/@ZLwPYiF0QOG? Y> QbJx + cIMDzW! -] * 't5B; < ^% T6 _XsR = ': n "A7831o N ÿÿÿÿÿÿÿÿ € Àÿÿÿÿÿÿÿÿ

Теги:

2 ответа

0
Лучший ответ

curl_exec основан на и весь проект, который используется на многих языках, см. здесь:

Почему у файла file_get_contents() нет такого же доступа, как curl_exec()?

Следовательно, он имеет гораздо большую поддержку.

0

Ошибка ответа 403 указывает, что сервер отклонил запрос, сделанный file_get_contents.

Curl и file_get_contents не делают один и тот же HTTP-запрос.

Как минимум CURL будет использовать другой заголовок пользовательского агента.

В целом CURL превосходит и быстрее, чем использование file_get_contents для загрузки удаленных файлов.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню