php模拟post提交数据的方法_php教程-查字典教程网
php模拟post提交数据的方法
php模拟post提交数据的方法
发布时间:2016-12-29 来源:查字典编辑
摘要:本文实例讲述了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教程学习
    热门php教程学习
    编程开发子分类