|
#!/usr/local/bin/perl
$mykey = 'ライセンスキー';
use Encode;
use SOAP::Lite;
print "Expires: Thu, 04 Oct 2000 00:00:00 GMT\n";
print "Content-Type: text/html; Charset=utf-8\n";
print "\n";
binmode(STDOUT, ":utf8");
$METHOD = $ENV{'REQUEST_METHOD'};
$METHOD =~ tr/a-z/A-Z/;
$QUERY_STRING = $ENV{'QUERY_STRING'};
if ( $METHOD eq "POST" ) {
read(STDIN, $Form, $ENV{'CONTENT_LENGTH'});
@Fields_Data = split(/&/, $Form);
}
@Fields_Data2 = split(/&/, $QUERY_STRING);
foreach $Field_Data ( @Fields_Data ) {
($Name, $Value) = split(/=/, $Field_Data);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$_POST{$Name} = $Value;
}
foreach $Field_Data2 ( @Fields_Data2 ) {
($Name, $Value) = split(/=/, $Field_Data2);
$Value =~ tr/+/ /;
$Value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
$_POST{$Name} = $Value;
$_GET{$Name} = $Value;
}
$query = $_POST{'query'};
Encode::from_to($query, "shift_jis", "utf8");
utf8::decode($query);
if ( $_POST{'start'} eq '' ) {
$start = '0';
}
else {
$start = $_POST{'start'};
}
utf8::decode($start);
@arguments = (
$mykey,
$query,
$start,
'10',
'false',
'',
'false',
'lang_ja',
'UTF-8',
'UTF-8'
);
$googleSearch = SOAP::Lite->service("file:GoogleSearch.wsdl");
#$googleSearch = SOAP::Lite->service("http://api.google.com/GoogleSearch.wsdl");
$result =
$googleSearch
->doGoogleSearch(@arguments);
print "<pre>";
print $result->{'estimatedTotalResultsCount'} . "\n";
for ( $i = 0; $ i < $result->{'endIndex'}; $i++ ) {
print $result->{'resultElements'}[$i]->{'URL'} . "\n";
print $result->{'resultElements'}[$i]->{'title'} . "\n";
print $result->{'resultElements'}[$i]->{'snippet'} . "\n";
print "\n";
}
print "</pre>";
| |