本节内容:
fsockopen模拟POST提交数据。
例子:
复制代码 代码示例:
<?php
/*
* fsockopen模拟POST方式提交数据
* edit: www.jb200.com
*/
$URL =‘ http : //xxx.xxx.xxx.xx/xx/xxx/top.php';
$post_data [ ' clientname ' ] = " test08 " ;
$post_data [ ' clientpasswd ' ] = " test08 " ;
$post_data [ ' submit ' ] = " ログイン " ;
$referrer = "" ;
// parsing the given URL
$URL_Info = parse_url ( $URL ) ;
// Building referrer
if ( $referrer == "" ) // if not given use this script as referrer
$referrer = $_SERVER [ " SCRIPT_URI " ] ;
// making string from $data
foreach ( $post_data as $key => $value )
$values [] = " $key = " . urlencode ( $value ) ;
$data_string = implode ( " & " , $values ) ;
// Find out which port is needed - if not given use standard (=80)
if ( ! isset ( $URL_Info [ " port " ]))
$URL_Info [ " port " ] = 80 ;
// building POST-request:
$request .= " POST " . $URL_Info [ " path " ] . " HTTP/1.1 /n " ;
$request .= " Host: " . $URL_Info [ " host " ] . " /n " ;
$request .= " Referer: $referrer /n " ;
$request .= " Content-type: application/x-www-form-urlencoded /n " ;
$request .= " Content-length: " . strlen ( $data_string ) . " /n " ;
$request .= " Connection: close /n " ;
$request .= " /n " ;
$request .= $data_string . " /n " ;
$fp = fsockopen ( $URL_Info [ " host " ] , $URL_Info [ " port " ]) ;
fputs ( $fp , $request ) ;
while ( ! feof ( $fp )) {
$result .= fgets ( $fp , 128 ) ;
}
fclose($fp);
您可能感兴趣的文章:
php curl模拟post请求的例子
php实现post php curl模拟post传输数据的函数
php curl实现get,post和cookie的实例代码
php curl post的简单示例
php curl中post与get应用实例代码
php获取通过http协议post过来的xml数据
php使用socket、curl、file_get_contents方法POST数据的实例
php实现模拟get和post请求的代码