php模拟post提交数据的方法


Posted in PHP onFebruary 12, 2015

本文实例讲述了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源代码
Oct 09 PHP
PHP+DBM的同学录程序(5)
Oct 09 PHP
PHP4.04简明安装
Oct 09 PHP
非常好的php目录导航文件代码
Oct 09 PHP
PHP 服务器配置(使用Apache及IIS两种方法)
Jun 01 PHP
PHP操作xml代码
Jun 17 PHP
基于PHP遍历数组的方法汇总分析
Jun 08 PHP
php常用的url处理函数总结
Nov 19 PHP
详解WordPress中创建和添加过滤器的相关PHP函数
Dec 29 PHP
PHP 实现人民币小写转换成大写的方法及大小写转换函数
Nov 17 PHP
thinkphp5 + ajax 使用formdata提交数据(包括文件上传) 后台返回json完整实例
Mar 02 PHP
PHP 实现 JSON 数据的编码和解码操作详解
Apr 22 PHP
PHP遍历数组的三种方法及效率对比分析
Feb 12 #PHP
PHP进程同步代码实例
Feb 12 #PHP
PHP CURL 内存泄露问题解决方法
Feb 12 #PHP
PHP中捕获超时事件的方法实例
Feb 12 #PHP
php单例模式示例分享
Feb 12 #PHP
PHP 正则表达式小结
Feb 12 #PHP
一个非常完美的读写ini格式的PHP配置类分享
Feb 12 #PHP
You might like
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
linux系统上支持php的 iconv()函数的方法
2011/10/01 PHP
PHP empty函数报错解决办法
2014/03/06 PHP
Codeigniter购物车类不能添加中文的解决方法
2014/11/29 PHP
Yii实现MySQL多数据库和读写分离实例分析
2014/12/03 PHP
Nginx服务器上安装并配置PHPMyAdmin的教程
2015/08/18 PHP
微信公众号判断用户是否已关注php代码解析
2016/06/24 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
php 常用的系统函数
2017/02/07 PHP
php与阿里云短信接口接入操作案例分析
2020/05/27 PHP
js的逻辑运算符 ||
2010/05/31 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
浅析2种JavaScript继承方式
2015/12/04 Javascript
js实现页面跳转的五种方法推荐
2016/03/10 Javascript
Bootstrap表单组件教程详解
2016/04/26 Javascript
js事件源window.event.srcElement兼容性写法(详解)
2016/11/25 Javascript
Angularjs中ng-repeat的简单实例
2017/08/25 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
Node.js 如何利用异步提升任务处理速度
2019/01/07 Javascript
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
微信小程序中data-key属性之数据传输(经验总结)
2020/08/22 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日 小组赛A组 TNC VS OpTic
2018/03/30 DOTA
从零学python系列之数据处理编程实例(一)
2014/05/22 Python
Numpy将二维数组添加到空数组的实现
2019/12/05 Python
Python暴力破解Mysql数据的示例
2020/11/09 Python
如何设置PyCharm中的Python代码模版(推荐)
2020/11/20 Python
悬挂训练绳:TRX
2017/12/14 全球购物
什么是跨站脚本攻击
2014/12/11 面试题
装修五一活动策划案
2014/01/23 职场文书
医学生求职自荐书
2014/06/12 职场文书
完整版商业计划书
2014/09/15 职场文书
小学教师师德师风个人整改措施
2014/09/18 职场文书
教师党员学习十八届四中全会思想汇报
2014/11/03 职场文书
作息时间调整通知
2015/04/22 职场文书
uniapp引入支付宝原生扫码插件步骤详解
2022/07/23 Javascript