Index: locker/deploy/bin/onserver.pm
===================================================================
--- locker/deploy/bin/onserver.pm	(revision 465)
+++ locker/deploy/bin/onserver.pm	(revision 466)
@@ -8,6 +8,8 @@
 use Cwd qw(abs_path);
 use POSIX qw(strftime);
+use LWP::UserAgent;
+use URI;
 our @ISA = qw(Exporter);
-our @EXPORT = qw(setup totmp print_login_info press_enter $server $tmp $USER $HOME $sname $deploy $addrend $admin_username $requires_sql $addrlast $sqlhost $sqluser $sqlpass $sqldb $sqldbcurl $admin_password $scriptsdev $human);
+our @EXPORT = qw(setup totmp fetch_uri print_login_info press_enter $server $tmp $USER $HOME $sname $deploy $addrend $admin_username $requires_sql $addrlast $sqlhost $sqluser $sqlpass $sqldb $sqldbcurl $admin_password $scriptsdev $human);
 
 our $server = "scripts.mit.edu";
@@ -20,4 +22,31 @@
   print FILE $_[0];
   close(FILE);
+}
+
+my $ua = LWP::UserAgent->new;
+my $base_uri;
+
+sub fetch_uri {
+    my ($uri, $get, $post) = @_;
+    my $u = URI->new($uri);
+    my $req;
+    if (defined $post) {
+	$u->query_form($post);
+	my $content = $u->query;
+	$u->query_form($get);
+	$req = HTTP::Request->new(POST => $u->abs($base_uri));
+	$req->content_type('application/x-www-form-urlencoded');
+	$req->content($content);
+    } else {
+	$u->query_form($get) if (defined $get);
+	$req = HTTP::Request->new(GET => $u->abs($base_uri));
+    }
+    my $res = $ua->request($req);
+    if ($res->is_success) {
+	return $res->content;
+    } else {
+	print STDERR "Error fetching configuration page: ", $res->status_line, "\n";
+	return undef;
+    }
 }
 
@@ -56,4 +85,6 @@
   }
   ($addrlast) = ($addrend =~ /([^\/]*)$/);
+  
+  $base_uri = "http://$server/~$USER/$addrend/";
   
   if($requires_sql) {
@@ -102,2 +133,4 @@
   $| = 1; # STDOUT is *hot*!
 }
+
+1;
