note 37517 added to function.fsockopen

From: Date: Tue, 18 Nov 2003 16:27:50 +0000
Subject: note 37517 added to function.fsockopen
Groups: php.notes 
Request: Send a blank email to php-notes+get-60575@lists.php.net to get a copy of this message
This is a very fast program for test a form or link (many times). <?php $repeat = 100; // How many times repeat the test $timeout = 100; // Max time for stablish the conection $size = 16; // Bytes will be read (and display). 0 for read all $server = '64.246.30.37'; // IP address $host = 'www.foo.com'; // Domain name $target = '/poll/answer.asp'; // Specific program $referer = 'http://www.test.com/'; // Referer $port = 80; // Setup an array of fields to get with then create the get string $gets = array ( 'get_field_1' => 'somevalue', 'get_field_2' => 'somevalue' ); // Setup an array of fields to post with then create the post string $posts = array ( 'post_field_1' => 'somevalue', 'post_field_2' => 'somevalue' ); // That's all. Now the program proccess $repeat times $method = "GET"; if ( is_array( $gets ) ) { $getValues = '?'; foreach( $gets AS $name => $value ){ $getValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&'; } $getValues = substr( $getValues, 0, -1 ); } else { $getValues = ''; } if ( is_array( $posts ) ) { foreach( $posts AS $name => $value ){ $postValues .= urlencode( $name ) . "=" . urlencode( $value ) . '&'; } $postValues = substr( $postValues, 0, -1 ); $method = "POST"; } else { $postValues = ''; } $request = "$method $target$getValues HTTP/1.1\r\n"; $request .= "Host: $host\r\n"; $request .= 'User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) '; $request .= "Gecko/20021204\r\n"; $request .= 'Accept: text/xml,application/xml,application/xhtml+xml,'; $request .= 'text/html;q=0.9,text/plain;q=0.8,video/x-mng,image/png,'; $request .= "image/jpeg,image/gif;q=0.2,text/css,*/*;q=0.1\r\n"; $request .= "Accept-Language: en-us, en;q=0.50\r\n"; $request .= "Accept-Encoding: gzip, deflate, compress;q=0.9\r\n"; $request .= "Accept-Charset: ISO-8859-1, utf-8;q=0.66, *;q=0.66\r\n"; $request .= "Keep-Alive: 300\r\n"; $request .= "Connection: keep-alive\r\n"; $request .= "Referer: $referer\r\n"; $request .= "Cache-Control: max-age=0\r\n"; if ( $method == "POST" ) { $lenght = strlen( $postValues ); $request .= "Content-Type: application/x-www-form-urlencoded\r\n"; $request .= "Content-Length: $lenght\r\n"; $request .= "\r\n"; $request .= $postValues; } for ( $i = 0; $i < $repeat; $i++ ) { $socket = fsockopen( $server, $port, $errno, $errstr, $timeout ); fputs( $socket, $request ); if ( $size > 0 ) { $ret = fgets( $socket, $size ); } else { $ret = ''; while ( !feof( $socket ) ) { $ret .= fgets( $socket, 4096 ); } } fclose( $socket ); echo "<hr> $i -- $content $ret"; } ?> Alejandro Salamanca RedCetus.com ---- Manual Page -- http://www.php.net/manual/en/function.fsockopen.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+37517 Delete -- http://master.php.net/manage/user-notes.php?action=delete+37517&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+37517&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#60575) next »