#! /usr/bin/perl use strict; use CGI; use LWP::UserAgent; use JSON::Syck; use URI; use URI::QueryParam; use URI::Escape; #URLエンコーディングのライブラリ # 1.cgiをパースしパラメータを取得 my $q = CGI->new; my $keyword = $q->param('keyword'); my $start = $q->param('start') || 1; my $count = $q->param('count') || 10; # 2.パラメータを付与して、WEbサービスを呼び出す。 my $api = URI->new('http://webservice.recruit.co.jp/hotpepper/gourmet/v1'); $api->query_param(food => 'R040'); $api->query_param(keyword => $keyword); $api->query_param(start => $start) ; $api->query_param(count => $count) ; $api->query_param(format => 'json'); $api->query_param(key => '8a5581681bd42ba6'); # <- apiキーをご自身のキーと置き換えてご利用ください! my $res= undef; my $error = ''; my $ua = LWP::UserAgent->new; $ua->timeout(10); my $response = $ua->get($api); if ($response->is_success) { $res = JSON::Syck::Load($response->content); # or whatever }else { $error = $response->status_line; } # 3.戻り値を使って、htmlを組み立てる。 print $q->header('-charset' => 'utf-8'); if ( $error ) { print <<"ERR_HTML";
$error
ERR_HTML }else{ print <<"HTML";