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与javascript对多项选择的处理
Oct 09 PHP
dedecms模板标签代码官方参考
Mar 17 PHP
php+mysql写的简单留言本实例代码
Jul 25 PHP
PHP 数据库树的遍历方法
Feb 06 PHP
超级实用的7个PHP代码片段分享
Jan 05 PHP
php笔记之:初探PHPcms模块开发介绍
Apr 26 PHP
Session的工作机制详解和安全性问题(PHP实例讲解)
Apr 10 PHP
javascript数组与php数组的地址传递及值传递用法实例
Jan 22 PHP
php线性表的入栈与出栈实例分析
Jun 12 PHP
PHP 中 Orientation 属性判断上传图片是否需要旋转
Oct 16 PHP
PHP读取并输出XML文件数据的简单实现方法
Dec 22 PHP
PHP实现的防止跨站和xss攻击代码【来自阿里云】
Jan 29 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数据入库前清理 注意php intval与mysql的int取值范围不同
2010/12/12 PHP
php魔术变量用法实例详解
2014/11/13 PHP
php返回字符串中所有单词的方法
2015/03/09 PHP
thinkPHP5实现数据库添加内容的方法
2017/10/25 PHP
PHP面向对象程序设计重载(overloading)操作详解
2019/06/13 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
JavaScript中instanceof运算符的用法总结
2013/11/19 Javascript
jquery操作select大全
2014/04/25 Javascript
JSON.stringify转换JSON时日期时间不准确的解决方法
2014/08/08 Javascript
jquery实现仿JqueryUi可拖动的DIV实例
2015/07/31 Javascript
jquery实现的点击翻书效果代码
2015/11/04 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
纯JS代码实现气泡效果
2016/05/04 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
详解angularjs popup-table 弹出框表格指令
2017/09/20 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
vue 点击按钮实现动态挂载子组件的方法
2018/09/07 Javascript
vue中获取滚动table的可视页面宽度调整表头与列对齐(每列宽度不都相同)
2019/08/17 Javascript
JavaScript数值类型知识汇总
2019/11/17 Javascript
angular8.5集成TinyMce5的使用和详细配置(推荐)
2020/11/16 Javascript
基于Django URL传参 FORM表单传数据 get post的用法实例
2018/05/28 Python
pandas通过索引进行排序的示例
2018/11/16 Python
Python文件常见操作实例分析【读写、遍历】
2018/12/10 Python
python文件选择对话框的操作方法
2019/06/27 Python
python3 BeautifulSoup模块使用字典的方法抓取a标签内的数据示例
2019/11/28 Python
使用Python实现Wake On Lan远程开机功能
2020/01/22 Python
python 如何使用find和find_all爬虫、找文本的实现
2020/10/16 Python
英国虚拟主机服务商:eUKhost
2016/08/16 全球购物
SEPHORA新西兰官方网站:购买化妆品和护肤品
2016/12/02 全球购物
高三自我鉴定怎么写
2013/10/19 职场文书
设计顾问服务计划书
2014/05/04 职场文书
党员学习中共十八大思想报告
2014/09/12 职场文书
接收函格式
2015/01/30 职场文书
幼儿园毕业致辞
2015/07/29 职场文书
导游词之平津战役纪念馆
2019/11/04 职场文书