NAME

Net::Google::SafeBrowsing2::Lookup - Perl extension for the Google Safe Browsing v2 Lookup API.

SYNOPSIS

  use Net::Google::SafeBrowsing2::Lookup;

  my $gsb = Net::Google::SafeBrowsing2::Lookup->new(
	key 	=> "my key", 
  );

  my %match = $gsb->lookup(url => 'http://www.gumblar.cn/');
  
  if ($match{'http://www.gumblar.cn/'} eq 'malware') {
	print "http://www.gumblar.cn/ is flagged as a dangerous site\n";
  }

  my %matches = $gsb->lookup(urls => ['http://www.gumblar.cn/', 'http://flahupdate.co.cc']);
  foreach my $url (keys %matches) {
    print $url, " is ", $matches{$url}, "\n";
  }

DESCRIPTION

Net::Google::SafeBrowsing2::Lookup implements the Google Safe Browsing v2 Lookup API. See the API documentation at http://code.google.com/apis/safebrowsing/lookup_guide.html.

If you need to check more than 10,000 URLs a day, you need to use Net::Google::SafeBrowsing2.

The source code is available on github at https://github.com/juliensobrier/Net-Google-SafeBrowsing2.

CONSTRUCTOR

new()

Create a Net::Google::SafeBrowsing2::Lookup object

  my $gsb = Net::Google::SafeBrowsing2::Lookup->new(
	key 	=> "my key", 
	debug	=> 0,
  );

Arguments

key

Required. Your Google Safe Browsing API key

debug

Optional. Set to 1 to enable debugging. 0 (disabled) by default.

The debug output maybe quite large and can slow down significantly the update and lookup functions.

errors

Optional. Set to 1 to show errors to STDOUT. 0 (disabled by default).

version

Optional. Google Safe Browsing version. 3.0 by default

delay

Optional. Delay, in seconds, between 2 requests to the Google server. See the lookup function for more details. 0 (no delay) by default

PUBLIC FUNCTIONS

lookup()

Lookup a URL against the Google Safe Browsing v2 lists.

my %match = $gsb->lookup(url => 'http://www.gumblar.cn');

Returns a hash url => Google match. The possible list of values for are: "ok" (no match), "malware", "phishing", "malware,phihsing" (match boths lists) and "error".

Arguments

url

Optional. URL to lookup.

urls

Optional. List of URLs to lookup.

The Lookup API allows only 10,000 URL checks a day. if you need more, use the Net::Google::SafeBrowsing2 library.

Each requests must contain 500 URLs at most. The lookup() methonds will split the list of URLS in blocks of 5000 URLs if needed.

delay

Optional. If more than 500 URLs are checked, wait delay seconds between consecutive requests to avoid rate limiting by Google.

SEE ALSO

See Net::Google::SafeBrowsing2 for the implementation of Google Safe Browsing v2 API.

AUTHOR

Julien Sobrier, <jsobrier@zscaler.com> or <julien@sobrier.net>

COPYRIGHT AND LICENSE

Copyright (C) 2011 by Julien Sobrier

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

4 POD Errors

The following errors were encountered while parsing the POD:

Around line 48:

You forgot a '=back' before '=head2'

Around line 85:

=back without =over

Around line 112:

You forgot a '=back' before '=head2'

Around line 370:

=back without =over