Advertisement
Gentoo7

Fb inject

Feb 10th, 2016
31,210
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.96 KB | None | 0 0
  1.  
  2. Credits go to mlt
  3.  
  4. #!/usr/bin/perl
  5. use warnings;
  6. use XML::Simple;
  7. use LW2;
  8. use Getopt::Std;
  9. my %opts;
  10. getopts('q:',\%opts);
  11. my $query = $opts{q} if defined $opts{q};
  12. $query = "SELECT pic_big FROM user WHERE uid=6666666" unless defined $opts{q};
  13. my $ref = fqlQuery($query);
  14. foreach my $parent (sort keys %{$ref}) {
  15.     if (%{$ref->{$parent}}) {
  16.         print "$parent: \n";
  17.         foreach my $key (sort keys %{$ref->{$parent}}) {
  18.             if (%{$ref->{$parent}->{$key}}) {
  19.            print "\t$key : \n";
  20.                foreach my $mojo (sort keys %{$ref->{$parent}->{$key}}) {
  21.                    print "\t\t$mojo : ";
  22.                    print $ref->{$parent}->{$key}->{$mojo};
  23.            print "\n";
  24.            }
  25.             } else {   print "\t$key : ";
  26.                print $ref->{$parent}->{$key};
  27.                print "\n";
  28.             }
  29.         }
  30.     } else {
  31.         print "$parent : " . $ref->{$parent} . "\n";
  32.     }
  33. }
  34. sub fqlQuery {
  35.     my $q = shift;
  36.     $q =~ s/ /%20/g;
  37.     my $link = "http://api.facebook.com/method/fql.query?query=$q";
  38.     my $text = download($link,"api.facebook.com");
  39.     my $ref  = XMLin($text);
  40.     return($ref);
  41. }
  42. sub download
  43. {
  44.     my $uri = shift;
  45.     my $try = 5;
  46.     my $host = shift;
  47.     my %request;
  48.     my %response;
  49.     LW2::http_init_request(\%request);
  50.     $request{'whisker'}->{'method'} = "GET";
  51.     $request{'whisker'}->{'host'} = $host;
  52.     $request{'whisker'}->{'uri'} = $uri;
  53.     $request{'whisker'}->{'encode_anti_ids'} = 9;
  54.     $request{'whisker'}->{'user-agent'} = "";
  55.     LW2::http_fixup_request(\%request);
  56.     if(LW2::http_do_request(\%request, \%response)) {
  57.         if($try < 5) {
  58.             print "Failed to fetch $uri on try $try. Retrying...\n";
  59.             return undef if(!download($uri, $try++));
  60.         }
  61.         print "Failed to fetch $uri.\n";
  62.         return undef;
  63.     } else {
  64.         return ($response{'whisker'}->{'data'}, $response{'whisker'}->{'data'});
  65.     }
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement