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 相关文章推荐
dede3.1分页文字采集过滤规则详说(图文教程)续四
Apr 03 PHP
Php注入点构造代码
Jun 14 PHP
phpmyadmin显示utf8_general_ci中文乱码的问题终级篇
Apr 08 PHP
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
Jun 01 PHP
使用cookie实现统计访问者登陆次数
Jun 08 PHP
smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
Jan 22 PHP
PHP获取当前相对于域名目录的方法
Jun 26 PHP
php redis实现文章发布系统(用户投票系统)
Mar 04 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
Sep 16 PHP
Thinkphp自定义生成缩略图尺寸的方法
Aug 05 PHP
Laravel 6 将新增为指定队列任务设置中间件的功能
Aug 06 PHP
php实现根据身份证获取精准年龄
Feb 26 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
php如何解决无法上传大于8M的文件问题
2014/03/10 PHP
浅谈PHP值mysql操作类
2016/06/29 PHP
PHP中时间加减函数strtotime用法分析
2017/04/26 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
Laravel框架实现的批量删除功能示例
2019/01/16 PHP
laravel通用化的CURD的实现
2019/12/13 PHP
PHP pthreads v3下同步处理synchronized用法示例
2020/02/21 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
Javascript typeof 用法
2008/12/28 Javascript
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
JS解决ie6下png透明的方法实例
2013/08/02 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
node.js中的fs.appendFile方法使用说明
2014/12/17 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
Vue-cli proxyTable 解决开发环境的跨域问题详解
2017/05/18 Javascript
表格展示利器 Bootstrap Table实例代码
2017/09/06 Javascript
简单谈谈python基本数据类型
2018/09/26 Python
django页面跳转问题及注意事项
2019/07/18 Python
python中68个内置函数的总结与介绍
2020/02/24 Python
检测浏览器对HTML5和CSS3支持度的方法
2015/06/25 HTML / CSS
汉森批发:Hansen Wholesale
2018/05/24 全球购物
有abstract方法的类一定要用abstract修饰吗
2016/03/14 面试题
毕业生在校学习的自我评价分享
2013/10/08 职场文书
医科大学生的自我评价
2013/12/04 职场文书
服务口号大全
2014/06/11 职场文书
节能标语大全
2014/06/21 职场文书
大学生职业生涯十年规划书范文
2014/09/17 职场文书
2014副局长群众路线对照检查材料思想汇报
2014/09/22 职场文书
文明倡议书
2015/01/19 职场文书
学生乘坐校车安全责任书
2015/05/11 职场文书
建党伟业的观后感
2015/06/01 职场文书
电影焦裕禄观后感
2015/06/09 职场文书
大学生村官入党自传
2015/06/26 职场文书
Python实现简单的猜单词
2021/06/15 Python
解决Windows Server2012 R2 无法安装 .NET Framework 3.5
2022/04/29 Servers