use WWW::Mechanize;
srand;
my $url = 'http://avantgardeconcierge.com/';
my $mech = WWW::Mechanize->new();
my @a = $mech->known_agent_aliases();
my $agent = $a[int(rand(@a))];
$mech->agent_alias( $agent );
$mech->get( $url );
my $content = $mech->content();
print "Using Agent: $agent\n";
print "Web Content: $content\n\n";
results in the same 500 EOF response... probably because WWW::Mechanize->get() wraps the LWP's get() method.
i just tested a syscall to lynx -source $uri and it works like a champ... but i really wanted to avoid that syscall.
after looking at the resulting source code produced by lynx, i see dos-style carriage returns following all the headers returned by the avantgardeconcierge.com webserver...
it says its 'Server: Microsoft-IIS/6.0^M', but all other sites i pull source on using the exact same setup that report 'Server: Microsoft-IIS/6.0' do not have dos-style CR's as EOL markers.
maybe LWP is choking on the ^M's... and thats is what produces the 500 EOF's. interesting!