Использование cURL для получения изображений с Google-карты через прокси - PullRequest
2 голосов
/ 19 ноября 2011

Мне нужно получить изображения из Google Chart, но я нахожусь за прокси.

С помощью приведенного ниже кода (с изменением $ url) я могу получать изображения с других сайтов, но не с Google:

$ url = 'http://chart.apis.google.com/chart?chs=450x270&chd=t:'.$values_list.'&cht=p&chl='.$labels_list.'&chco=80AF1B,FFFF8C&chf=bg,s,F8F8F8';

$img = '../uploads/tx_oriindicadores/triglo.png'; 

file_put_contents($img, t3lib_div::getURL($url));

Код метода getURL () использует функции cURL для подключения и извлечения данных.

В данный момент яполучить только пустой файл.

Есть ли какие-либо параметры или конфигурации, которые мне нужны для получения изображений из Google?

Спасибо.


Функция getURL ()Метод является родным для TYPO3, и вы можете увидеть код на этой странице: http://doc -typo3.ameos.com / 4.1.0 / class_8t3lib__div_8php-source.html Строка 2342

Я передаюпараметры через бэкэнд сайта.

Ответы [ 4 ]

1 голос
/ 24 ноября 2011

Попробуйте var_dump () - результат функции. Если это ЛОЖЬ, то вы можете выяснить проблему, добавив echo curl_error($ch); прямо перед curl_close ($ ch); в функции getUrl () и опубликуйте сообщение об ошибке.

1 голос
/ 26 ноября 2011

Попробуйте использовать URL, например, wget --save-headers, чтобы увидеть, каков был результат.

Затем изменяйте настройки url / agent / cookie до тех пор, пока они не заработают.

Затем вернитесь к PHP.

0 голосов
/ 28 ноября 2011

Вышеприведенная функция верна, проблема была в том, что в переменной $labels_list были пробелы.Таким образом, замена пробелов на %20 решила проблему.

Пробелы в прямом URL-запросе не являются проблемой, но в cURL они есть.

Так что, как правило, не используйте пробелы при работе с cURL, используйте вместо этого %20.

0 голосов
/ 21 ноября 2011

Кажется, что функции getURL подавляют ошибки.Удалите подавление ошибок (@), и может появиться одно или два предупреждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...