用php模拟post来提交数据
利用php的socket编程来直接给接口发送数据来模拟post的操作。
<?PHP/************************************************************************
Name:POST测试程序Vesion:1.0Date:2004-08-05*************************************************************************
/$flag=0;
//要post的数据
$argv=array(
'var1'=>'abc',
'var2'=>'你好吗');
//构造要post的字符串
foreach($argvas$key=>$value){
if($flag!=0){
$params.="&";
$flag=1;
}
$params.=$key."=";$params.=urlencode($value);
$flag=1;
}
$length=strlen($params);
//创建socket连接
$fp=fsockopen("127.0.0.1",80,$errno,$errstr,10)orexit($errstr."--->".$errno);
//构造post请求的头
$header="POST/mobile/try.phpHTTP/1.1\r\n";
$header.="Host:127.0.0.1\r\n";
$header.="Referer:/mobile/sendpost.php\r\n";
$header.="Content-Type:application/x-www-form-urlencoded\r\n";
$header.="Content-Length:".$length."\r\n";
$header.="Connection:Close\r\n\r\n";
//添加post的字符串
$header.=$params."\r\n";
//发送post的数据
fputs($fp,$header);
$inheader=1;
while(!feof($fp)){
$line=fgets($fp,1024);//去除请求包的头只显示页面的返回数据
if($inheader&&($line=="\n"||$line=="\r\n")){
$inheader=0;
}
if($inheader==0){
echo$line;
}
}
fclose($fp);
?>
还可以使用php类HttpClient
SnoopyorhttpClient
[ 本帖最后由 xiexie 于 2008-10-22 22:52 编辑 ]