| 
<?php/*
 * test_http_post.php
 *
 * @(#) $Header: /opt2/ena/metal/http/test_http_post.php,v 1.5 2004/08/11 00:46:11 mlemos Exp $
 *
 */
 
 ?><HTML>
 <HEAD>
 <TITLE>Test for Manuel Lemos' PHP HTTP class to simulate a HTTP POST form submission</TITLE>
 </HEAD>
 <BODY>
 <H1><CENTER>Test for Manuel Lemos' PHP HTTP class to simulate a HTTP POST form submission</CENTER></H1>
 <HR>
 <UL>
 <?php
 require("http.php");
 
 set_time_limit(0);
 $http=new http_class;
 $http->timeout=0;
 $http->data_timeout=0;
 $http->debug=0;
 $http->html_debug=1;
 
 $url="http://www.cs.tut.fi/cgi-bin/run/~jkorpela/echoraw.cgi";
 $error=$http->GetRequestArguments($url,$arguments);
 $arguments["RequestMethod"]="POST";
 $arguments["PostValues"]=array(
 "somefield"=>"Upload forms",
 "MAX_FILE_SIZE"=>"1000000"
 );
 $arguments["PostFiles"]=array(
 "userfile"=>array(
 "Data"=>"This is just a plain text attachment file named attachment.txt .",
 "Name"=>"attachment.txt",
 "Content-Type"=>"automatic/name",
 ),
 "anotherfile"=>array(
 "FileName"=>"test_http_post.php",
 "Content-Type"=>"automatic/name",
 )
 );
 $arguments["Referer"]="http://www.alltheweb.com/";
 echo "<H2><LI>Opening connection to:</H2>\n<PRE>",HtmlEntities($arguments["HostName"]),"</PRE>\n";
 flush();
 $error=$http->Open($arguments);
 
 if($error=="")
 {
 $error=$http->SendRequest($arguments);
 if($error=="")
 {
 echo "<H2><LI>Request:</LI</H2>\n<PRE>\n".HtmlEntities($http->request)."</PRE>\n";
 echo "<H2><LI>Request headers:</LI</H2>\n<PRE>\n";
 for(Reset($http->request_headers),$header=0;$header<count($http->request_headers);Next($http->request_headers),$header++)
 {
 $header_name=Key($http->request_headers);
 if(GetType($http->request_headers[$header_name])=="array")
 {
 for($header_value=0;$header_value<count($http->request_headers[$header_name]);$header_value++)
 echo $header_name.": ".$http->request_headers[$header_name][$header_value],"\r\n";
 }
 else
 echo $header_name.": ".$http->request_headers[$header_name],"\r\n";
 }
 echo "</PRE>\n";
 echo "<H2><LI>Request body:</LI</H2>\n<PRE>\n".HtmlEntities($http->request_body)."</PRE>\n";
 flush();
 
 $headers=array();
 $error=$http->ReadReplyHeaders($headers);
 if($error=="")
 {
 echo "<H2><LI>Response headers:</LI</H2>\n<PRE>\n";
 for(Reset($headers),$header=0;$header<count($headers);Next($headers),$header++)
 {
 $header_name=Key($headers);
 if(GetType($headers[$header_name])=="array")
 {
 for($header_value=0;$header_value<count($headers[$header_name]);$header_value++)
 echo $header_name.": ".$headers[$header_name][$header_value],"\r\n";
 }
 else
 echo $header_name.": ".$headers[$header_name],"\r\n";
 }
 echo "</PRE>\n";
 flush();
 
 echo "<H2><LI>Response body:</LI</H2>\n<PRE>\n";
 for(;;)
 {
 $error=$http->ReadReplyBody($body,1000);
 if($error!=""
 || strlen($body)==0)
 break;
 echo HtmlSpecialChars($body);
 }
 echo "</PRE>\n";
 flush();
 }
 }
 $http->Close();
 }
 if(strlen($error))
 echo "<CENTER><H2>Error: ",$error,"</H2><CENTER>\n";
 ?>
 </UL>
 <HR>
 </BODY>
 </HTML>
 
 |