http://www.perlmonks.org?node_id=327167


in reply to log into a website via perl client

Simple question, no simple solution.

If your router is like mine (dLink) it uses Basic Authentication (mentioned by Sol-Invictus) to allow access to the router's functions. What you'll have to do is provide your password like mentioned above, then use LWP to do either a GET or POST (no difference, really) to the page on your router in which you want to modify settings. You'll send the variables in the GET/POST request, and what should be returned is the HTML of the page confirming the changes.

Pseudo-code:

use LWP; use HTTP::Request::Common; my $ua = LWP::UserAgent->new(); my $resp = $ua->request(GET 'http://192.168.0.1/admin.cgi'); if($resp->is_success){ # returned 200; request sent/page received print $resp->content; #content of page returned, check this } #to see if it looks like your router's "settings changed" page. else{ print "Couldn't fetch page. Something's wrong!!!\n"; }

Read the documentation on LWP. It's really useful stuff.
Hope that helps. Best of luck to you.

John J Reiser
newrisedesigns.com