home *** CD-ROM | disk | FTP | other *** search
- What I say prototype, I mean just a little teeny tiny idea
- turned into a few lines of code.
-
- This is a piece of perl that is a gateway between archie and
- WWW. It should be set up to run as a server under inetd. It
- takes incoming requests of the form
- GET /nic.funet.fi/exact?wais
- and returns HTML formatted archie results back. It depends on the
- C language Prospero archie client that you can get from (e.g.)
- ftp.cs.widener.edu.
-
- My HTML is really bad but you get the idea, it should look somehow
- somewhat reasonable and something you can click on.
-
- With a little bit of work any dbm file looks like it can be turned
- into a WWW queryable server along the same lines.
-
- Take note that you are inviting truly perverse packet transport,
- with a query from one site resutling in hundreds of packets being
- shuttled all around the world ....
-
- --Ed
-
- #!/usr/local/bin/perl
-
- # gateway from www to archie
- # this is the "brute force" kind of approach; a tidier solution
- # would speak the prospero protocols directly.
-
- while (<>) {
- if (m,^GET /(.*)/(.*)\?(.*)$,) {
- $archie = $1;
- $type = $2;
- $query = $3;
- } else {
- exit 0; # XXX
- }
- # print "$node $database $query \n";
- if ($type eq 'exact') {
- $arg = " -e ";
- } else {
- $arg = " -s ";
- }
- $archcmd = "archie -l -t " . $arg . " -h " . $archie . " " . $query ;
- print "<title>archie $type search for $query on $archie </title>\n";
- @result = `$archcmd`;
- foreach (@result) {
- ($time, $size, $host, $file) = split;
- print "<a href=file://anonymous@$host:$file>\n";
- print "$_</a>\n";
- }
- }
-
-
-