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数据缓存技术
Feb 14 PHP
Bo-Blog专用的给Windows服务器的IIS Rewrite程序
Aug 26 PHP
PHP5 面向对象程序设计
Feb 13 PHP
色色整理的PHP面试题集锦
Mar 08 PHP
解析在PHP中使用mysqli扩展库对mysql的操作
Jul 03 PHP
Linux下手动编译安装PHP扩展的例子分享
Jul 15 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
PHP中把有符号整型转换为无符号整型方法
May 27 PHP
WordPress特定文章对搜索引擎隐藏或只允许搜索引擎查看
Dec 31 PHP
PHP Ajax实现无刷新附件上传
Aug 17 PHP
php车辆违章查询数据示例
Oct 14 PHP
Vagrant(WSL)+PHPStorm+Xdebu 断点调试环境搭建
Dec 13 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
2019年漫画销量排行榜:鬼灭登顶 海贼单卷制霸 尾田盛赞鬼灭
2020/03/08 日漫
PHP内置过滤器FILTER使用实例
2014/06/25 PHP
php控制文件下载速度的方法
2015/03/24 PHP
利用jQuery的$.event.fix函数统一浏览器event事件处理
2009/12/21 Javascript
js动态设置div的值下例子
2013/10/29 Javascript
javascript阻止浏览器后退事件防止误操作清空表单
2013/11/22 Javascript
js实现将选中值累加到文本框的方法
2015/08/12 Javascript
javascript实现省市区三级联动下拉框菜单
2015/11/17 Javascript
使用jQuery mobile库检测url绝对地址和相对地址的方法
2015/12/04 Javascript
基于JS实现Android,iOS一个手势动画效果
2016/04/27 Javascript
js中数组的常用方法小结
2016/12/30 Javascript
100行代码理解和分析vue2.0响应式架构
2017/03/09 Javascript
Cookies 和 Session的详解及区别
2017/04/21 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
Kindeditor单独调用单图上传增加预览功能的实例
2017/07/31 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
Vue引用第三方datepicker插件无法监听datepicker输入框的值的解决
2018/01/27 Javascript
vue.js数据绑定操作详解
2018/04/23 Javascript
angular2实现统一的http请求头方法
2018/08/13 Javascript
angular多语言配置详解
2019/05/16 Javascript
gulp构建小程序的方法步骤
2019/05/31 Javascript
vue中keep-alive,include的缓存问题
2019/11/26 Javascript
[50:28]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 Newbee vs KG
2018/04/01 DOTA
python编程羊车门问题代码示例
2017/10/25 Python
python实现猜拳小游戏
2020/04/05 Python
Cython编译python为so 代码加密示例
2019/12/23 Python
基于python实现删除指定文件类型
2020/07/21 Python
纯css3制作煽动翅膀的蝴蝶的示例
2018/04/23 HTML / CSS
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
Bibloo罗马尼亚网站:女装、男装、童装及鞋子和配饰
2019/07/20 全球购物
电子信息专业应届生自荐信
2014/06/04 职场文书
商场父亲节活动方案
2014/08/27 职场文书
学校党委副书记个人对照检查材料思想汇报
2014/09/28 职场文书
企业爱心捐款倡议书
2015/04/27 职场文书
python tkinter模块的简单使用
2021/04/07 Python
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server