找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 455|回复: 0
打印 上一主题 下一主题

php模拟post提交数据的方法

[复制链接]

2487

主题

2487

帖子

7391

积分

论坛元老

Rank: 8Rank: 8

积分
7391
跳转到指定楼层
楼主
发表于 2018-2-14 05:49:15 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

            本文实例讲述了php模拟post提交数据的方法。分享给大家供大家参考。具体如下:
php模拟post提交数据,用处很多,可用来网站的采集,登陆等等
这里以我项目中的论坛登录为例加以说明:
[U]复制代码[/U] 代码如下: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 = "OST /bbpress/bb-login.php HTTP/1.1\r\n";
$header .= "Hosthostport\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($params) . "\r\n";
$header .= "Connection: Close\r\n\r\n";
$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中使用Curl、socket、file_get_contents三种方法POST提交数据
  • php获取通过http协议post提交过来xml数据及解析xml
  • php中用socket模拟http中post或者get提交数据的示例代码
  • php curl模拟post提交数据示例
  • PHP防止post重复提交数据的简单例子
  • php采用ajax数据提交post与post常见方法总结
  • PHP模拟post提交数据方法汇总
            
  • 分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    用户反馈
    客户端