Google Charts Over HTTPS - PullRequest
       23

Google Charts Over HTTPS

3 голосов
/ 20 марта 2010

Я пытаюсь загрузить диаграммы в виде изображений на защищенном сайте. Пример изображения Google Chart через https будет:

http://www.google.com/chart?cht=lc&chs=200x125&chd=s:helloWorld

Проблема в том, что, хотя вы можете загрузить подобное изображение, нажав ссылку, вы не можете включить его в качестве изображения на своей странице. Он просто не загружается.

Есть идеи, как это обойти? Или решение вообще с использованием PHP?

Ответы [ 3 ]

8 голосов
/ 19 января 2011

Похоже, Google наконец обновил свой API, чтобы разрешить HTTPS. Все, что вам нужно сделать, это переключить имя хоста на chart.googleapis.com, чтобы базовый URL был примерно таким: https://chart.googleapis.com/chart, и он работал нормально. Наслаждайтесь!

5 голосов
/ 20 марта 2010

Google не поддерживает графики через HTTPS ...

У меня была такая же проблема.

http://groups.google.com/group/google-chart-api/browse_thread/thread/95c463d88cf3cfe4

Вы можете , однако используйте PHP или .net для создания прокси-страницы, чтобы отфильтровать вашу ссылку Google HTTP через соединение HTTPS для решения такой проблемы.

Вот простой прокси PHP, который я использовал ...

<?php
    // PHP Proxy
    // Loads a XML from any location. Used with Flash/Flex apps to bypass security restrictions
    // Author: Paulo Fierro
    // January 29, 2006
    // usage: proxy.php?url=http://mysite.com/myxml.xml

    $session = curl_init($_GET['url']);                    // Open the Curl session
    curl_setopt($session, CURLOPT_HEADER, false);          // Don't return HTTP headers
    curl_setopt($session, CURLOPT_RETURNTRANSFER, true);   // Do return the contents of the call
    $xml = curl_exec($session);                            // Make the call
    header("Content-Type: text/xml");                  // Set the content type appropriately
    echo $xml;        // Spit out the xml
    curl_close($session); // And close the session
?>
4 голосов
/ 20 марта 2010

Похоже, что Google блокирует запросы https для диаграмм с установленным заголовком Referrer:

[tla ~]$ curl 'http://www.google.com/chart?cht=lc&chs=200x125&chd=s:helloWorld' 2>/dev/null | file -
/dev/stdin: PNG image, 200 x 125, 8-bit/color RGB, non-interlaced
[tla ~]$ curl 'https://www.google.com/chart?cht=lc&chs=200x125&chd=s:helloWorld' 2>/dev/null | file -
/dev/stdin: PNG image, 200 x 125, 8-bit/color RGB, non-interlaced
[tla ~]$ curl -H 'Referer: http://stackoverflow.com' 'http://www.google.com/chart?cht=lc&chs=200x125&chd=s:helloWorld' 2>/dev/null | file -
/dev/stdin: PNG image, 200 x 125, 8-bit/color RGB, non-interlaced
[tla ~]$ curl -H 'Referer: http://stackoverflow.com' 'https://www.google.com/chart?cht=lc&chs=200x125&chd=s:helloWorld' 2>/dev/null | file -
/dev/stdin: ASCII HTML document text, with very long lines
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...