小编boh*_*ica的帖子

将JSON日期从Perl发送到谷歌图表API

我有一个小舞者应用程序,它提供一些HTML(包括调用谷歌图表API的javascript)和其他URL查询数据库,并以您可以传递给google.visualization.DataTable的形式返回编码JSON中的数据.javascript在舞者应用程序中查询JSON数据,然后将其传递到google图表API中 - 简化版本为:

    <script type="text/javascript" src="https://www.google.com/jsapi"></script>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
    <script type="text/javascript">

      google.load('visualization', '1.0', {'packages':['corechart']});
      google.setOnLoadCallback(initialize);

function initialize() {
    var res = $.ajax({
        url: "/data/2",
        dataType:"json",
        async: false,
        data: "{}",
        contentType: "application/json",
        error: function(jqXHR, textStatus, errorThrown) {
             alert('textStatus ' + textStatus);
             alert('errorThrown ' + errorThrown);
        }
    });
    jsonData = res.responseText;
    var data = new google.visualization.DataTable(jsonData);

    var chart = new google.visualization.BarChart(document.getElementById('chart_div'));
    chart.draw(data, {width: 400, height: 240});

}
    </script>
Run Code Online (Sandbox Code Playgroud)

问题是Perl返回的一些数据包含日期/时间戳,所以应该将类型设置为"datetime":

{"rows":[{"c":[{"v":"WHAT_CAN_I_PUT_HERE"},{"v":"2095"}]}],"cols":[{"type":"datetime","label":"DTU"},{"type":"number","label":"COUNT"}]}
Run Code Online (Sandbox Code Playgroud)

在Javascript中,您可以使用以下命令创建传递给Google图表API的日期:

new Date(2012, 1, 08, 09, 32, 0)
Run Code Online (Sandbox Code Playgroud)

如何从Perl发送以JSON编码的日期,以便谷歌图表API能够理解它?如果你不能为我提供其他选择?

javascript perl json google-visualization

9
推荐指数
2
解决办法
1万
查看次数

LWP HTTPS GET 连接失败或“证书验证失败”

我昨天在 Perl Monks 上发布了这个问题,但它对尝试过它的每个人都有效(请参阅http://www.perlmonks.org/?node_id=909968)。但是,我使用了不同的 URL,希望能简化问题。

我正在尝试通过 HTTPS 连接到 api.betfair.com,他们拥有我已在浏览器中验证的有效证书。我正在运行 ubuntu 并且有 2 个版本的 Perl。系统一 5.10.0 工作正常,通过 perlbrew 安装的 5.14.0 失败。代码是:

use LWP::UserAgent; 
use strict;
use warnings;

#$ENV{HTTPS_CA_FILE} = "/usr/share/ca-certificates/cacert.org/cacert.org.crt";

my $ua  = LWP::UserAgent->new; 
my $req = HTTP::Request->new(GET => 'https://api.betfair.com');
my $res = $ua->request($req);

print $res->headers_as_string;
print $res->content;
Run Code Online (Sandbox Code Playgroud)

在系统 Perl 5.10.0 下运行它工作正常,我得到:

Date: Fri, 17 Jun 2011 08:33:04 GMT
Accept-Ranges: bytes
ETag: W/"0-1307353787000"
Content-Length: 0
Content-Type: text/html
Last-Modified: Mon, 06 Jun 2011 09:49:47 GMT
Client-Date: Fri, 17 Jun 2011 …
Run Code Online (Sandbox Code Playgroud)

perl https lwp

5
推荐指数
1
解决办法
2万
查看次数

标签 统计

perl ×2

google-visualization ×1

https ×1

javascript ×1

json ×1

lwp ×1