手机
当前位置:查字典教程网 >编程开发 >php教程 >php模拟post提交数据的方法
php模拟post提交数据的方法
摘要:本文实例讲述了php模拟post提交数据的方法。分享给大家供大家参考。具体如下:php模拟post提交数据,用处很多,可用来网站的采集,登陆...

本文实例讲述了php模拟post提交数据的方法。分享给大家供大家参考。具体如下:

php模拟post提交数据,用处很多,可用来网站的采集,登陆等等

这里以我项目中的论坛登录为例加以说明:

复制代码 代码如下:function A_bbslogin($user_login,$password,$host,$port="80"){

//需要提交的post数据

$argv = array(

'cookie' => array('user_login' =>$user_login, 'password' => $password,'_wp_http_referer'=>'/bbpress/','re'=>'','remember'=>true)

);

foreach($argv['cookie'] as $key => $value) {

$params[] = $key . '=' . $value;

}

$params = implode('&', $params);

$header = "POST /bbpress/bb-login.php HTTP/1.1rn";

$header .= "Host:$host:$portrn";

$header .= "Content-Type: application/x-www-form-urlencodedrn";

$header .= "Content-Length: " . strlen($params) . "rn";

$header .= "Connection: Closernrn";

$header .= $params;

$fp = fsockopen($host, $port);

fputs($fp, $header);

while(!feof($fp)) {

$str = fgets($fp); //以下是自己的逻辑代码,这里主要是模拟cookie,可用来同步登陆

if(!(strpos($str,"Set-Cookie:") === false)){

$tmparray = explode(" ",$str);

$cookiearray = explode("=",$tmparray[1]);

$cookiepaths = explode("=",$tmparray[6]);

$cookiename = urldecode($cookiearray[0]);

$cookievalue = urldecode(substr($cookiearray[1],0,strlen($cookiearray[1])-1));

$cookietime = time()+3600*24*7;

$cookiepath = urldecode(substr($cookiepaths[1],0,strlen($cookiepaths[1])-1));

setcookie($cookiename,$cookievalue,$cookietime,$cookiepath);

}

}

fclose($fp);

}

希望本文所述对大家的php程序设计有所帮助。

【php模拟post提交数据的方法】相关文章:

php转换颜色为其反色的方法

php 字母大小写转换的方法

PHP调用三种数据库的方法(2)

PHP调用三种数据库的方法(3)

PHP获取文件行数的方法

php比较相似字符串的方法

php一个解析字符串排列数组的方法

php使用for语句输出三角形的方法

php对文件进行hash运算的方法

PHP调用三种数据库的方法(1)

精品推荐
分类导航