Google Charts of SSL - PullRequest
       17

Google Charts of SSL

4 голосов
/ 06 апреля 2010

Мне нужно, чтобы бесплатные диаграммы Google работали по SSL без каких-либо ошибок безопасности.Я использую c # и asp.net.

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

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

Подобно Штаны являются необязательными постами в блоге.Я не смог заставить этот пример работать на этом этапе.

Любые предложения или образцы приветствуются.

Спасибо

Ответы [ 3 ]

10 голосов
/ 21 декабря 2010

API Google Charts теперь доступен через HTTPS по адресу https на chart.googleapis.com.

Источник: http://www.imperialviolet.org/2010/11/29/charthttps.html

3 голосов
/ 14 апреля 2010

Мы делаем это автоматически в платформе NetQuarry - это довольно просто, хотя вы заставляете изображение проходить через ваш сайт по сравнению с charts.google.com, заставляя браузер выполнять запрос через одно соединение.

Поскольку диаграмма - это просто ссылка на изображение, мы создаем ссылку на диаграмму (очевидно, гораздо более сложный процесс), а затем добавляем всю ссылку на строку запроса во внутренний обработчик (обработчик) .ashx? req = chart &). Итак, новая ссылка выглядит так:

handler.ashx акт = CHRT & REQ = график и CHT = p3 & CHS = 450x170 & CHD = s: HAR9GBA & хл = Новое | В% 20Progress | Ответили | Не будет ли% 20Respond | На% 20Hold | Будущее | Обзор | & Chg = 20,20,1 , 5 & Chg = 10,25,1,5 & CHCO = 0A477D

Затем мы просто загружаем данные изображения и записываем их обратно как ответ.

Вот код:

Blockquote

    private void GoogleChart(HttpContext cxt)
    {            
        const string csPrefix = "?act=chrt&req=chart&";

        HttpRequest     req = cxt.Request;
        HttpResponse    rsp = cxt.Response;
        string          sUrl = cxt.Request.RawUrl;
        int             nStart = sUrl.IndexOf(csPrefix,  StringComparison.OrdinalIgnoreCase);

        rsp.Clear();

        if (nStart > 0)
        {
            sUrl = "http://chart.apis.google.com/chart?" + sUrl.Substring(nStart + csPrefix.Length);

            System.Net.WebClient    wc = new System.Net.WebClient();

            byte[] buffer = wc.DownloadData(sUrl);

            cxt.Response.ClearContent();
            cxt.Response.ClearHeaders();
            cxt.Response.ContentType = "application/octet-stream";
            cxt.Response.AppendHeader("content-length", buffer.Length.ToString());              

            cxt.Response.BinaryWrite(buffer);
        }
    }
0 голосов
/ 12 апреля 2010

У меня есть частичное решение, которое имеет одну проблему.

вот ссылка на мое новое сообщение с просьбой о помощи по конкретной проблеме относительно моего решения

Моя попытка вОбработчик SSL

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