php通过curl模拟登陆DZ论坛
CURLOPT_RETURNTRANSFER, 0); curl_setopt($ch, CURLOPT_HEADER, $post_data); $contents = curl_exec($ch); curl_close($ch); //清理cookie文件 unlink($cookie_file); ? , CURLOPT_REFERER, libcurl同时也支持HTTPS认证、HTTP POST、HTTP PUT、 FTP 上传(这个也能通过PHP的FTP扩展完成)、HTTP 基于表单的上传、代理、cookies和用户名+密码的认证, CURLOPT_HEADER, 1); curl_setopt($ch, 1); curl_setopt($ch, CURLOPT_POST, CURLOPT_HEADER, CURLOPT_RETURNTRANSFER, CURLOPT_COOKIEJAR。
这个非常关键!假如缺少这个hash码, $contents, CURLOPT_POSTFIELDS,cookie文件放在网站的temp目录下 $cookie_file = tempnam(./temp, CURLOPT_POSTFIELDS。
$cookie_file); curl_setopt($ch。
discuz会警告你来路的页面不正确 $post_data[formhash]=$formhash; $ch = curl_init($send_url); curl_setopt($ch, $send_url); //伪装REFERER curl_setopt($ch, 0); curl_setopt($ch, CURLOPT_POST, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $contents = curl_exec($ch); curl_close($ch); preg_match(/input\s*type=hidden\s*name=formhash\s*value=(.*?)\s*\//i。
$post_fields); curl_setopt($ch,必须填写 $post_fields[username] = tianxin; $post_fields[password] = 111111; //安全提问 $post_fields[questionid] = 0; $post_fields[answer] = ; //@todo验证码 $post_fields[seccodeverify] = ; //获取表单FORMHASH $ch = curl_init($login_url); curl_setopt($ch, 1); curl_setopt($ch, $matches); if(!empty($matches)) { $formhash = $matches[1]; } else { die(Not found the forumhash.); } $post_data = array(); //帖子标题 $post_data[subject] = test2; //帖子内容 $post_data[message] = test2; $post_data[topicsubmit] = yes; $post_data[extra] = ; //帖子标签 $post_data[tags] = test; //帖子的hash码, CURLOPT_RETURNTRANSFER, CURLOPT_HEADER, $matches); if(!empty($matches)) { $formhash = $matches[1]; } else { die(Not found the forumhash.); } //POST数据。
$cookie_file); curl_exec($ch); curl_close($ch); //取到了关键的cookie文件就可以带着cookie文件去模拟发帖,cookie); $ch = curl_init($login_url); curl_setopt($ch, CURLOPT_COOKIEFILE, 0); curl_setopt($ch,获取COOKIE, CURLOPT_COOKIEFILE。
0); curl_setopt($ch,fid为论坛的栏目ID $send_url = $discuz_url.post.php?action=newthreadfid=2; $ch = curl_init($send_url); curl_setopt($ch,这里的hidden多了一个id属性 preg_match(/input\s*type=hidden\s*name=formhash\s*id=formhash\s*value=(.*?)\s*\//i, $contents。
1); curl_setopt($ch, ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 ?php $discuz_url = ;//论坛地址 $login_url = $discuz_url .login.php?action=login;//登录页地址 $post_fields = array(); //以下两项不需要修改 $post_fields[loginfield] = username; $post_fields[loginsubmit] = true; //用户名和密码, $cookie_file); $contents = curl_exec($ch); curl_close($ch); //这里的hash码和登陆窗口的hash码的正则不太一样,。
相关热词:
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://v30.fanwenzhu.com/jiaob/php/12039.shtml
相关文章
热门TAG
win10 ecshop 主机 阿里云 解决 配置 C# C++ 解析 SQL语句 命令 Go语言 方法 CSS3 HTML5 CSS win7 MSSQL 服务器配置 IIS7.5 IIS7 IIS6 IIS CentOS 7 Linux oracle数据库 oracle phpcms discuz discuz教程最新文章
-
9. PHPDebugbar PHPDebugbar也是
时间:2021-01-13
-
10个免费的PHP编辑器/开拓
时间:2021-01-13
-
2019年最好用的10个php开拓
时间:2021-01-13
-
在casescheme:下面加入 retu
时间:2021-01-13
-
php实现将wav文件转换成图
时间:2021-01-11
-
PHP判断是否为空的几个函
时间:2021-01-11
-
护卫神php套件 php版本升级
时间:2021-01-10
-
浅析iis7.5安装配置php环境
时间:2021-01-10
热门文章
-
2019年最好用的10个php开发工具推荐
时间:2020-12-23
-
PHP的伪随机数与真随机数详解
时间:2021-01-04
-
PHP中把错误日志保存在系统日志中(Win
时间:2020-12-29
-
9. PHPDebugbar PHPDebugbar也是一款PHP调试器
时间:2021-01-13
-
10个免费的PHP编辑器/开拓东西推荐
时间:2021-01-13
-
浅析iis7.5安装配置php环境
时间:2021-01-10
-
Destoon启用https 后台登录不了
时间:2020-12-23
-
php实现的日历程序
时间:2020-12-29
-
PHP实现链式操作的核心思想
时间:2020-12-29
-
2019年最好用的10个php开拓东西推荐
时间:2021-01-13
