php fsockopen 伪造 post和get方法
<?php
//fsocket模拟post提交
$purl = "http://localhost/netphp/test2.php?uu=rrrrrrrrrrrr" ;
print_r( parse_url ( $url ));
sock_post( $purl , "uu=55555555555555555" );
//fsocket模拟get提交
function sock_get( $url , $query )
{
$info = parse_url ( $url );
$fp = fsockopen ( $info [ "host" ], 80, $errno , $errstr , 3);
$head = "GET " . $info [ 'path' ]. "?" . $info [ "query" ]. " HTTP/1.0 " ;
$head .= "Host: " . $info [ 'host' ]. " " ;
$head .= " " ;
$write = fputs ( $fp , $head );
while (! feof ( $fp ))
{
$line = fread ( $fp ,4096);
echo $line ;
}
}
sock_post( $purl , "uu=rrrrrrrrrrrrrrrr" );
function sock_post( $url , $query )
{
$info = parse_url ( $url );
$fp = fsockopen ( $info [ "host" ], 80, $errno , $errstr , 3);
$head = "POST " . $info [ 'path' ]. "?" . $info [ "query" ]. " HTTP/1.0 " ;
$head .= "Host: " . $info [ 'host' ]. " " ;
$head .= "Referer: http://" . $info [ 'host' ]. $info [ 'path' ]. " " ;
$head .= "Content-type: application/x-www-form-urlencoded " ;
$head .= "Content-Length: " . strlen (trim( $query )). " " ;
$head .= " " ; //开源代码phpfensi.com
$head .= trim( $query );
$write = fputs ( $fp , $head );
while (! feof ( $fp ))
{
$line = fread ( $fp ,4096);
echo $line ;
}
}
?>