PHP file_get_contents - печалька

L
На сайте с 23.12.2012
Offline
92
788

Столкнулся с такой вот непонятной штукой.

простой запрос (скрипт рабочий, если другой запрос делать)

<?php

$my='https://ajax.googleapis.com/ajax/services/search/images?v=1.0&rsz=8&imgsz=large&q=красная%20смородина&start=0';
$result =file_get_contents($my);
echo $result;
?>

если открыть адрес в браузере - увидите нормальный json ответ.

а через скрип - не работает.

Никак не могу понять почему.

если например искать "привет" то он отработает. Я пробовал огромное количество вариантов - то отрабатывает то нет. Очевидно рушатся данные в момент приема, но почему и как это исправить я понять не могу.

делал даже так:

$html =  new DOMDocument();

$html -> loadHTMLFile($url);
$imageresult = strip_tags($html -> saveHTML());

но это точно также может то работать то нет.

Сдам выделенный сервер в Европе 9,5 евро в месяц. (/ru/forum/914387) Atom N2800 1.86 GHz / RAM 2 GB / HDD 500 GB sata2 / Канал 100 Mbps
дани мапов
На сайте с 06.09.2012
Offline
204
#1
Написание и доработка скриптов (PHP, MySQL, JavaScript, jQuery) (/ru/forum/811046)
PN
На сайте с 22.08.2012
Offline
103
#2
likeseo:
если открыть адрес в браузере - увидите нормальный json ответ.
а через скрип - не работает.
Никак не могу понять почему.
если например искать "привет" то он отработает. Я пробовал огромное количество вариантов - то отрабатывает то нет. Очевидно рушатся данные в момент приема, но почему и как это исправить я понять не могу.

потому что пробел надо заменять не на %20, а на + , поэтому "привет" находит, а "привет привет" уже не найдет.

Мой совет помог? Не скупись! Bitcoin 1Lseddet1o1B6odgXQHbGaWGwRkt1Db8Ef Ethereum 0x450f1a17461e25194B7F9226cDEe70173F39e1e1
L
На сайте с 23.12.2012
Offline
92
#3

Я же написал, все работает. Я все получаю, только массив обрезан. Причем тут urlencode или плюс.

Ответ приходит но кусок кудато пропадает

edogs software
На сайте с 15.12.2005
Offline
775
#4

curl используйте.

file_get_contents пораженчество.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
PN
На сайте с 22.08.2012
Offline
103
#5
likeseo:
Я же написал, все работает. Я все получаю, только массив обрезан. Причем тут urlencode или плюс.

Вы не писали, что все получаете, но массив обрезан. Вы как раз написали, что то работает, то нет. file_get_contents возвращает не массив, а строку.

L
На сайте с 23.12.2012
Offline
92
#6

Сорри! Почти спал. Написал криво. :)

Через скрипт получаю обрезанную, причем в середине! строку.

Попробую curl.

[Удален]
#7

попробуй заюзать этот класс https://github.com/monstra-cms/monstra/blob/dev/libraries/Gelato/Curl/Curl.php для работы

L
На сайте с 23.12.2012
Offline
92
#8

За курл спасибо! дело было не в нем похоже :)

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий