C# 谷歌SSL图表
我需要让免费的谷歌图表在SSL上工作,没有任何安全错误。我正在使用c#和asp.net 由于谷歌图表在默认情况下不支持SSL,我正在寻找一种健壮的方法来使用这些图表,但要确保我的用户不会通过浏览器收到任何安全警告 一个想法是使用一个处理程序来调用charts api,然后生成我的站点所需的输出 类似于博客文章。在这个阶段,我无法让这个例子起作用 欢迎提供任何建议或样品C# 谷歌SSL图表,c#,asp.net,ssl,charts,C#,Asp.net,Ssl,Charts,我需要让免费的谷歌图表在SSL上工作,没有任何安全错误。我正在使用c#和asp.net 由于谷歌图表在默认情况下不支持SSL,我正在寻找一种健壮的方法来使用这些图表,但要确保我的用户不会通过浏览器收到任何安全警告 一个想法是使用一个处理程序来调用charts api,然后生成我的站点所需的输出 类似于博客文章。在这个阶段,我无法让这个例子起作用 欢迎提供任何建议或样品 谢谢我有一个有一个问题的部分解决方案 这里是我的新帖子的链接,我想就我的解决方案的一个具体问题寻求帮助 我们在NetQuarry
谢谢我有一个有一个问题的部分解决方案 这里是我的新帖子的链接,我想就我的解决方案的一个具体问题寻求帮助
我们在NetQuarry平台上自动执行此操作-这非常简单,尽管您强制图像通过您的网站vs.charts.google.com发送,使您的浏览器通过单个连接运行请求 由于图表只是一个指向图像的链接,我们要做的是构建指向图表的链接(显然是一个更复杂的过程),然后将整个链接添加到内部处理程序(handler.ashx?req=chart&)上的查询字符串中。因此,新链接如下所示: handler.ashx?act=chrt&req=chart&cht=p3&chs=450x170&chd=s:HAR9GBA&chl=New |进行中|响应|不会响应|在%20Hold |未来|审查| chg=20,20,1,5&chg=10,25,1,5&chco=0A477D 然后,我们只需下载图像数据并将其作为响应写回 代码如下: 大宗报价
谷歌图表API现在可以通过HTTPS在chart.googleapis.com上获得
来源:那篇博文的代码有什么具体问题?即使在调用了我的处理程序并且没有抛出错误之后,目前似乎也没有呈现任何内容。我将在这里发布我的代码实现。谢谢,这对我有用。您只需参考
https://chart.googleapis.com/chart
取而代之,它可以工作。
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);
}
}