Rev 4 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 4 | Rev 5 | ||
---|---|---|---|
1 | #!/usr/bin/perl |
1 | #!/usr/bin/perl |
2 | 2 | ||
3 | # |
3 | # |
- | 4 | # VWhois (ViaThinkSoft WHOIS, a fork of generic Whois / gwhois) |
|
4 | # generic Whois - pe subprogram |
5 | # Subprogram: pe TLD whois |
5 | # |
6 | # |
6 | # (c) 2015 by Daniel Marschall, ViaThinkSoft <www.viathinksoft.de> |
7 | # (c) 2015 by Daniel Marschall, ViaThinkSoft <info@daniel-marschall.de> |
7 | # |
8 | # |
8 | # Distribution, usage etc. pp. regulated by the current version of GPL. |
9 | # License: https://www.gnu.org/licenses/gpl-2.0.html (GPL version 2) |
9 | # |
- | |
10 | # |
- | |
11 | # |
- | |
12 | # History: |
- | |
13 | # 2015-05-15 mar Initial release |
- | |
14 | # |
10 | # |
15 | 11 | ||
16 | use warnings; |
12 | use warnings; |
17 | use strict; |
13 | use strict; |
18 | use utf8; |
14 | use utf8; |
19 | 15 | ||
20 | use FindBin; |
16 | use FindBin; |
21 | use lib "$FindBin::RealBin/../lib/"; |
17 | use lib "$FindBin::RealBin/../lib/"; |
22 | use GWhoIs::Core; |
18 | use GWhoIs::Core; |
23 | 19 | ||
24 | if (defined $ARGV[0]) { |
20 | if (defined $ARGV[0]) { |
25 | $_ = join(' ', @ARGV); |
21 | $_ = join(' ', @ARGV); |
26 | } else { |
22 | } else { |
27 | # If no parameter is given, await an input from STDIN |
23 | # If no parameter is given, await an input from STDIN |
28 | $_ = <>; |
24 | $_ = <>; |
29 | chomp; |
25 | chomp; |
30 | } |
26 | } |
31 | 27 | ||
32 | my $query = $_; |
28 | my $query = $_; |
33 | 29 | ||
34 | my $host = "http://www.nic.pe/rpublicac-i.php?txtbuscar=$query&radopcion=D"; # TODO: https? |
30 | my $host = "http://www.nic.pe/rpublicac-i.php?txtbuscar=$query&radopcion=D"; # TODO: https? |
35 | my $additional = "(detpublic-i.php.*?)'"; |
31 | my $additional = "(detpublic-i.php.*?)'"; |
36 | 32 | ||
37 | my ($protocol, $hostname) = GWhoIs::Utils::splitProtocolHost($host); |
33 | my ($protocol, $hostname) = GWhoIs::Utils::splitProtocolHost($host); |
38 | 34 | ||
39 | #print "Querying $hostname with $protocol.\n"; |
35 | #print "Querying $hostname with $protocol.\n"; |
40 | 36 | ||
41 | my ($text, $exitcode) = GWhoIs::Core::wwwsgrep($host,$additional); |
37 | my ($text, $exitcode) = GWhoIs::Core::wwwsgrep($host,$additional); |
42 | if ($exitcode) { |
38 | if ($exitcode) { |
43 | # print STDERR "Query to web server failed.\n"; |
39 | # print STDERR "Query to web server failed.\n"; |
44 | print $text; |
40 | print $text; |
45 | exit $exitcode; |
41 | exit $exitcode; |
46 | } |
42 | } |
47 | 43 | ||
48 | if ($text ne '') { |
44 | if ($text ne '') { |
49 | print "Match found. Now querying for the domain data.\n\n"; |
45 | print "Match found. Now querying for the domain data.\n\n"; |
50 | ($text, $exitcode) = GWhoIs::Core::doquery($query,'cgi',"$protocol://$hostname/$text", ''); |
46 | ($text, $exitcode) = GWhoIs::Core::doquery($query,'cgi',"$protocol://$hostname/$text", ''); |
51 | print $text; |
47 | print $text; |
52 | } else { |
48 | } else { |
53 | print "No match found. This probably means that this domain does not exist.\n"; |
49 | print "No match found. This probably means that this domain does not exist.\n"; |
54 | } |
50 | } |
55 | 51 | ||
56 | if ($exitcode) { |
52 | if ($exitcode) { |
57 | # print STDERR "Query to web server failed.\n"; |
53 | # print STDERR "Query to web server failed.\n"; |
58 | } |
54 | } |
59 | 55 | ||
60 | exit $exitcode; |
56 | exit $exitcode; |