手机
当前位置:查字典教程网 >编程开发 >php教程 >php 模拟POST提交的2种方法详解
php 模拟POST提交的2种方法详解
摘要:一、通过curl函数复制代码代码如下:$post_data=array();$post_data['clientname']="test08...

一、通过curl函数

复制代码 代码如下:

$post_data = array();

$post_data['clientname'] = "test08";

$post_data['clientpasswd'] = "test08";

$post_data['submit'] = "submit";

$url='http://xxx.xxx.xxx.xx/xx/xxx/top.php';

$o="";

foreach ($post_data as $k=>$v)

{

$o.= "$k=".urlencode($v)."&";

}

$post_data=substr($o,0,-1);

$ch = curl_init();

curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_HEADER, 0);

curl_setopt($ch, CURLOPT_URL,$url);

//为了支持cookie

curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);

$result = curl_exec($ch);

二、通过fsockopen

复制代码 代码如下:

$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=<PRE class=php name="code">{1}</PRE><BR>

SERVER["SCRIPT_URI"]; // making string from $dataforeach($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.1n";$request.="Host: ".$URL_Info["host"]."n";$request.="Referer: $referrern";$request.="Content-type: application/x-www-form-urlencodedn";$request.="Content-length: ".strlen($data_string)."n";$request.="Connection:

closen";$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);

<PRE></PRE>

<P><BR>

</P>

<P>Snoopy 类(2)<BR>

sourceforge.net/projects/snoopy/</P>

<P>http://www.redalt.com/xref/trunk/nav.htm?wp-includes/class-snoopy.php.htm</P>

<P>HTTP类(1,2)</P>

<P>http://www.phpclasses.org/browse/download/1/file/5/name/http.php</P>

<P>PEAR HTTP_Request</P>

<P>http://pear.php.net/package/HTTP_Request</P>

<P class=akpc_pop>Popularity: 70%</P>

<P></P>

【php 模拟POST提交的2种方法详解】相关文章:

php计算到指定日期还有多少天的方法

php中smarty模板条件判断用法实例

php实现TCP端口检测的方法

php计算整个目录大小的方法

PHP5的XML新特性

PHP 判断数组是否为空的5大方法

隐性调用php程序的方法

php查询whois信息的方法

php生成圆角图片的方法

php解析xml方法实例详解

精品推荐
分类导航