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 相关文章推荐
PHP5 面向对象程序设计
Feb 13 PHP
php反弹shell实现代码
Apr 22 PHP
PHP设计模式 注册表模式(多个类的注册)
Feb 05 PHP
基于PHP生成静态页的实现方法
May 10 PHP
php教程之魔术方法的使用示例(php魔术函数)
Feb 12 PHP
smarty模板引擎从php中获取数据的方法
Jan 22 PHP
PHP、Java des加密解密实例
Apr 27 PHP
PHP文件上传处理案例分析
Oct 15 PHP
php之可变变量的实例详解
Sep 12 PHP
php安装扩展mysqli的实现步骤及报错解决办法
Sep 23 PHP
laravel实现查询最后执行的一条sql语句的方法
Oct 09 PHP
php设计模式之适配器模式实例分析【星际争霸游戏案例】
Apr 07 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
织梦模板标记简介
2007/03/11 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
php生成zip压缩文件的方法详解
2013/06/09 PHP
PHP代码实现表单数据验证类
2015/07/28 PHP
php实现的顺序线性表示例
2019/05/04 PHP
TP5框架model常见操作示例小结【增删改查、聚合、时间戳、软删除等】
2020/04/05 PHP
jQuery中parentsUntil()方法用法实例
2015/01/07 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
JS组件Bootstrap Select2使用方法详解
2020/04/17 Javascript
浅谈javascript中的事件冒泡和事件捕获
2016/12/28 Javascript
微信小程序 欢迎页面的制作(源码下载)
2017/01/09 Javascript
微信小程序实现下载进度条的方法
2017/12/08 Javascript
基于脚手架创建Vue项目实现步骤详解
2020/08/03 Javascript
详解Vue的mixin策略
2020/11/19 Vue.js
[02:20]DOTA2亚洲邀请赛 EHOME战队出场宣传片
2015/02/07 DOTA
[01:20:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第四场 8.26
2018/08/30 DOTA
深度剖析使用python抓取网页正文的源码
2014/06/11 Python
python根据开头和结尾字符串获取中间字符串的方法
2015/03/26 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
详解Python3 中hasattr()、getattr()、setattr()、delattr()函数及示例代码数
2018/04/18 Python
python爬取哈尔滨天气信息
2018/07/14 Python
Python  unittest单元测试框架的使用
2018/09/08 Python
Flask配置Cors跨域的实现
2019/07/12 Python
django 2.2和mysql使用的常见问题
2019/07/18 Python
Python使用docx模块实现刷题功能代码
2020/02/13 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
pytorch中的weight-initilzation用法
2020/06/24 Python
python try...finally...的实现方法
2020/11/25 Python
加拿大购物频道:The Shopping Channel
2016/07/21 全球购物
美国家用电器和电子产品商店:Abt
2016/09/06 全球购物
Kusmi茶美国官网:优质散叶茶和茶包
2019/10/13 全球购物
《赵州桥》教学反思
2014/02/17 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
委托书的样本
2015/01/28 职场文书
教师工作决心书
2015/02/04 职场文书
叶县这家生产军用电台的兵工厂,人称“四机部”,走出一上将
2022/02/18 无线电