background image

PHP 程序:php 模拟 POST 提交的 种方法

一、通过 curl 函数
代码如下:

$post_data

 = 

array

();

$post_data

['clientname'] = "test08";

$post_data

['clientpasswd'] = "test08";

$post_data

['submit'] = "submit";

$url

='';

$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>