php 使用curl模拟登录discuz以及模拟发帖

$discuz_url = ‘http://127.0.0.1/discuz/’;//论坛地址
$login_url = $discuz_url .’logging.php?action=login’;//登录页地址

$post_fields = array();
//以下两项不需要修改
$post_fields[‘loginfield’] = ‘username’;
$post_fields[‘loginsubmit’] = ‘true’;
//用户名和密码,必须填写
$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, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec($ch);
curl_close($ch);
preg_match(‘/

$ch = curl_init($login_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file);
curl_exec($ch);
curl_close($ch);

//取到了关键的cookie文件就可以带着cookie文件去模拟发帖,fid为论坛的栏目ID
$send_url = $discuz_url.”post.php?action=newthread&fid=2″;

$ch = curl_init($send_url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
$contents = curl_exec($ch);
curl_close($ch);

//这里的hash码和登陆窗口的hash码的正则不太一样,这里的hidden多了一个id属性
preg_match(‘/

$post_data = array();
//帖子标题
$post_data[‘subject’] = ‘test2’;
//帖子内容
$post_data[‘message’] = ‘test2’;
$post_data[‘topicsubmit’] = “yes”;
$post_data[‘extra’] = ”;
//帖子标签
$post_data[‘tags’] = ‘test’;
//帖子的hash码,这个非常关键!假如缺少这个hash码,discuz会警告你来路的页面不正确
$post_data[‘formhash’]=$formhash;

$ch = curl_init($send_url);
curl_setopt($ch, CURLOPT_REFERER, $send_url); //伪装REFERER
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie_file);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
$contents = curl_exec($ch);
curl_close($ch);

//清理cookie文件
unlink($cookie_file);

Original: https://www.cnblogs.com/top5/p/3208700.html
Author: 与时俱进
Title: php 使用curl模拟登录discuz以及模拟发帖

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/553734/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • es之8:批量查询mget、批量增删改bulk,document的全量替换

    就是一条一条的查询,比如说要查询100条数据,那么就要发送100次网络请求,这个开销还是很大的。如果进行批量查询的话,查询100条数据,就只要发送1次网络请求,网络请求的性能开销缩…

    技术杂谈 2023年5月30日
    082
  • server.error.include-message

    使用的thymeleaf模板引擎,默认前端无法获取message和exception 想要在前端获取到message和exception,配置一下配置 server.error.i…

    技术杂谈 2023年5月31日
    079
  • 多项式除和取余

    [F(x)=Q(x)G(x)+R(x) ] 已知(n)次的(F(x))和(m)次(G(x))求商(Q(x))和余数(R(x)),要求(Q(x))次数为(n-m),(R(x))次数小…

    技术杂谈 2023年6月21日
    083
  • MySQL远程连接、用户授权

    mysql> insert into mysql.user(Host,User,Password) values(“localhost”,&#8221…

    技术杂谈 2023年6月21日
    0104
  • ant design vue关于input组件设置只读

    设置方法如下: readonly 的o需为大写 Original: https://www.cnblogs.com/henuyuxiang/p/15165921.htmlAutho…

    技术杂谈 2023年5月31日
    082
  • 《Generative Adversarial Networks for Hyperspectral Image Classification 》论文笔记

    GAN是一种新的模型,通常包含生成模型G和判别模型D。模型G和D以对抗性的方式进行训练,其中G试图生成尽可能真实的假输入,D试图对真实输入和假输入进行分类。在这个对抗性博弈中,双方…

    技术杂谈 2023年6月21日
    091
  • PowerBI发布到网页

    如果网页当中需要嵌入PowerBI的报表,可以在PowerBI当中生成链接,然后网页或者博客当中插入这一段html代码。 以下是PowerBI生产网页链接的示例,并且在博客的最后也…

    技术杂谈 2023年5月31日
    0152
  • Golang context

    Context Go 语言中提供了 context 包,通过显示传递 context, 实现请求级别的元数据、取消信号、终止信号的传递。context 包提供了从现有的上下文值(c…

    技术杂谈 2023年7月11日
    070
  • Python 闭包的相关知识

    用案例解释闭包:整个历史中的某个商品的平均收盘价。什么叫平局收盘价呢?就是从这个商品一出现开始,每天记录当天价格,然后计算他的平均值:平均值要考虑直至目前为止所有的价格。 ​ 比如…

    技术杂谈 2023年6月21日
    090
  • lightdb sleep vs oracle sleep

    有些时候,我们需要在测试时进行sleep,以便判断tps,oracle中如下: 需要sys登录先授权,如下: 不然可能会提示无权限,如: PROCEDURE TES 出现错误:4/…

    技术杂谈 2023年6月1日
    095
  • Linux基础学习(二)

    显示/etc目录下,以非字母开头,后面跟了一个字母以及其它任意长度任意字符的文件或目录 [root@ct7 ~]# ls /etc | grep -E “^[0-9][a-z]*”…

    技术杂谈 2023年6月21日
    078
  • 卡卡游戏引擎之快速入门

    前言 卡卡游戏引擎是一个跨平台的2d游戏引擎,并配有跨平台的卡卡编辑器作为游戏开发辅助工具。卡卡游戏引擎采用mvc开发模式,即模型(Model)-视图(View)-控制器(Cont…

    技术杂谈 2023年5月31日
    068
  • 青岛啤酒

    原文: https://www.zhihu.com/question/346620159 青岛啤酒到底哪一款好喝呢?直接说答案:小绿瓶(经典)生啤(特色:含有鲜活酵母,但保质期短)…

    技术杂谈 2023年5月31日
    077
  • SQL查询语句–统计

    — 1、日统计查询填补 i->为时间差的天数 2022-05-10为终止时间 SET @i :=- 1; SELECT date_format( DATE_SUB( ’20…

    技术杂谈 2023年6月21日
    087
  • MyBatisPlus 入门教程,这篇很赞

    在之前的文章中我们经常使用MybatisPlus进行增删改查,可能有些小伙伴对mybatisplus不是很熟悉,今天特意出了一般入门级的教程,我自己也是一边学习一边写的,有什么地方…

    技术杂谈 2023年6月21日
    0136
  • 去掉烦人的:要恢复页面吗?Chrome未正确关闭

    1、将 sudo chmod 444 /home/username/.config/chromium/Default/Preferences文件权限设置读权限。 2、使用 sudo…

    技术杂谈 2023年5月31日
    094
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球