I am working on the assumption that the question is about hosting a socket server that writes out responses with GET requests to whoever logs in (why???). Perhaps I am misunderstanding the original question because the responses suggesting LWP::UserAgent don't seem to address it? Anyway, something like this might work:
#!/usr/bin/perl
# startup with "scriptname localport redirect"
use warnings;
use strict;
use IO::Socket;
# port to listen on, stuff to write to clients
my ( $localport, $redirect ) = ( $ARGV[0], $ARGV[1] );
# setting up server
my $server = IO::Socket::INET->new(
LocalPort => $localport,
Proto => 'tcp',
Listen => SOMAXCONN,
Reuse => 1
) || die "couldn't be a tcp server on port $localport:$@\n";
# status
print qq{DAEMON LISTENING ON: $localport\n};
# new connections are instantiated like so
while ( my ($client, $c_addr) = $server->accept()) {
# collecting details about new connection
my ($client_port, $c_ip) = sockaddr_in($c_addr);
my $client_ipnum = inet_ntoa($c_ip);
my $client_host = gethostbyaddr($c_ip, AF_INET);
# printing client info
print qq{INCOMING: $client_host, $client_ipnum\n};
# retrieving whatever the incoming connection is saying
while(<$client>) {
print;
print $client $redirect;
}
}
Not (really) tested.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|