php模拟post提交数据的方法

 更新时间:2015年02月12日 15:14:39   作者:代码家园  
这篇文章主要介绍了php模拟post提交数据的方法,实例分析了socket方法模拟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.1\r\n";
$header .= "Host:$host:$port\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文件上传类实例详解

    PHP文件上传类实例详解

    这篇文章主要介绍了PHP文件上传类,结合实例形式详细分析了PHP上传文件类的实现代码与相关使用技巧,需要的朋友可以参考下
    2016-04-04
  • PHP 文件缓存的性能测试

    PHP 文件缓存的性能测试

    PHP 文件缓存的性能测试,需要的朋友可以参考下。
    2010-04-04
  • PHP+jQuery实现双击修改table表格功能示例

    PHP+jQuery实现双击修改table表格功能示例

    这篇文章主要介绍了PHP+jQuery实现双击修改table表格功能,涉及php数组读取、遍历及jQuery动态响应修改页面元素属性相关操作技巧,需要的朋友可以参考下
    2019-02-02
  • PHP常用函数之格式化时间操作示例

    PHP常用函数之格式化时间操作示例

    这篇文章主要介绍了PHP常用函数之格式化时间操作,结合实例形式分析了php针对日期时间的计算、转换及格式化等相关操作技巧,需要的朋友可以参考下
    2019-10-10
  • php实现URL加密解密的方法

    php实现URL加密解密的方法

    这篇文章主要介绍了php实现URL加密解密的方法,结合实例形式分析了php针对URL字符串进行加密解密操作的相关技巧,需要的朋友可以参考下
    2016-11-11
  • 通过PHP设置BugFree获取邮箱通知

    通过PHP设置BugFree获取邮箱通知

    在本篇文章里小编给大家分享了关于通过PHP设置BugFree获取邮箱通知的相关知识点内容,需要的朋友们跟着学习下。
    2019-04-04
  • PHP实现websocket通信的方法示例

    PHP实现websocket通信的方法示例

    这篇文章主要介绍了PHP实现websocket通信的方法,结合实例形式分析了php基于websocket类的socket通信相关客户端与服务器端操作技巧,需要的朋友可以参考下
    2018-08-08
  • PHP字符串和十六进制如何实现互相转换

    PHP字符串和十六进制如何实现互相转换

    这篇文章主要介绍了PHP字符串和十六进制如何实现互相转换,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-07-07
  • PHP中preg_match函数正则匹配的字符串长度问题

    PHP中preg_match函数正则匹配的字符串长度问题

    这篇文章主要介绍了PHP中preg_match函数正则匹配的字符串长度问题,如果你也遇到了preg_match正则提取内容时总是空白或提取不到的话,那就可能是遇到了这个问题啦,需要的朋友可以参考下
    2015-05-05
  • 简单的cookie计数器实现源码

    简单的cookie计数器实现源码

    本篇文章是对一个简单的cookie计数器的实现源码进行了详细的分析介绍,需要的朋友参考下
    2013-06-06

最新评论