火车采集器/PHPWind论坛模块

来自站长百科
跳转至: 导航、​ 搜索

火车采集器 | 安装 | 主程序 | 子程序 | 应用拓展 | 模块开发 | FAQ

PHPWind 6.3.2的模块制作,基本方法和DedeCms5.1模块制作是一样的。

主要内容是要用“通出发送数据包登陆”主要讲登陆随机值的获取。

首先,本地安装好论坛,地址是http://127.0.0.1/pw632

一步步来,先做登陆设置,在http://127.0.0.1/pw632/login.php这个页面登陆,因为这里可以选择保存cookies的时间,选最大的,一年。 填写好用户名密码,用Winsock Expert监视浏览器数据的发送,可以得到以下结果,看图1第五行

Locoy PHPWind1.jpg
图1 Winsock Expert获取到的登陆信息

第五行 浏览器send发送的数据包如下:

POST /pw632/login.php? HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, 
application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://127.0.0.1/pw632/login.php
Accept-Language: zh-cn
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1
Content-Length: 122
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: 52208_lastvisit=29%091216516081%09%2Fpw632%2Flogin.php%3F; 52208_lastpos=other; 52208_ol_offset=97

forward=&jumpurl=http%3A%2F%2F127.0.0.1%2Fpw632%2Findex.php&step=2
&lgt=0&pwuser=admin&pwpwd=admin&hideid=0&cktime=31536000

前面的具体填法,可以参考DedeCMS文章模块中的填法讲解。

Locoy PHPWind2.jpg
POST /pw632/login.php? 

这个是登陆地址后缀

Referer: http://127.0.0.1/pw632/login.php

去掉前面的cms/论坛根地址便是来源页面 ,由于没开启验证码,这里留空。建议大家关闭验证码。

来看POST的数据

forward=&jumpurl=http%3A%2F%2F127.0.0.1%2Fpw632%2Findex.php&step=2&lgt=0
&pwuser=admin&pwpwd=admin&hideid=0&cktime=31536000
  • jumpurl=http%3A%2F%2F127.0.0.1%2Fpw632%2Findex.php 也就是http://127.0.0.1/pw632/index.php 这里进行了urlencode
  • pwuser和pwpwd 分别是用用户和密码
  • cktime=31536000 是一年的时间
  • hideid=0 是不隐身登陆
  • lgt 是用户名登陆和uid登陆的参数。

将对应的可变值用标签代替,并测试登陆,在返回代码里可以看到“您已经顺利登录”字样,这就是成功标识码。

最后再找一些登陆错误返回的代码(这没找全),登陆设置部分就完成了。具体看图2。

Locoy PHPWind3.jpg
图2 登陆设置部分的post数据及返回代码

接下来是刷新列表设置了,找一个有列表的页面。pw论坛的列表版块一般就在首页。但是从找最简单的列表来说,搜索页是个不错的选择。

所以刷新列表页面填:/search.php

来源这个哪都能刷,可以不填了,页面区域,可以在全页面匹配,也可只在某一定范围内获取列表,只需选取其开始结束字符串

下边看一下/search.php页的代码


<input type="radio" name="s_type" value="forum" />社区分类
<select name="f_fid" onclick="this.form.s_type[1].checked=true">
<option value="1">>> PHPwind Board</option>
<option value="2">  |- 默认版块</option>
<option value="3">>> test1</option>
<option value="4">  |- test12</option>
</select>

这个简单们选个开头结尾的,就好了,看效果图3.


Locoy PHPWind4.jpg
图3 刷新列表设置

测试一下,成功.


Locoy PHPWind5.jpg
图4 成功刷新列表

下边做文章发表参数这块,方法和dedecms的差不多。

文章POST数据,打开一个页面,在发表文章前使用Winsock监视窗口 发表后的winsock:

Locoy PHPWind6.jpg
图5 发表帖子时获得的数据

鼠标选中的那一行


POST /pw632/post.php? HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, 
application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*
Referer: http://127.0.0.1/pw632/post.php?fid=2
Accept-Language: zh-cn
Content-Type: multipart/form-data; boundary=---------------------------7d828313401b0
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)
Host: 127.0.0.1
Content-Length: 2377
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: 52208_lastpos=other; 52208_ol_offset=97; 52208_ck_info=%2F%09; 52208_winduser=Aj9RAgNUAVpRBlIAU10CBwYDBwJQUAcCAAkEBQQAAgNQUjs%3D; 
52208_lastvisit=2979%09121652009509%2Fpw632%2Fpost.php%3Ffid%3D2; 
PHPSESSID=2a3bae3e451299dcbfe2659e303c0fcb; 
ENV_GOBACK_URL=%2Fdede51%2Fdede%2Fcontent_list.php; 52208_threadlog=%2C2%2C

鼠标的下一行数据

-----------------------------7d828313401b0
Content-Disposition: form-data; name="magicname"


-----------------------------7d828313401b0
Content-Disposition: form-data; name="magicid"


-----------------------------7d828313401b0
Content-Disposition: form-data; name="verify"

e2589801
-----------------------------7d828313401b0
Content-Disposition: form-data; name="atc_title"

caijitt
-----------------------------7d828313401b0
Content-Disposition: form-data; name="atc_iconid"

0
-----------------------------7d828313401b0
Content-Disposition: form-data; name="atc_content"

caijicc
-----------------------------7d828313401b0
参数太多太长略去一部分

分析:发表地址后缀即POST地址: /post.php? 来源页面后缀:http://127.0.0.1/pw632/post.php?fid=2去掉网址替换fid即为:/post.php?fid= [分类ID]

注意,verify是个可变的参数,在每个论坛可能不一样,在退出那里也有个verify,但那个不是所要的,要的是表单里的verify,看下边的设置。还有很重要的一点,就是ubb,还是请看图6,不选这个的话没法ubb发表帖子。目前支持的就上边几大主流ubb编码

Locoy PHPWind7.jpg
图6 随机值获取及UBB设置

发表POST数据,因为论坛发表时可能上传文件,使用的Content-Type是 multipart/form-data;于是发表POST数据要将第二页的所有参数全部连接起来,并将相关参数换成标签,于是可得

magicname=&magicid=&verify=[登陆随机值1]&atc_title=[标签:标题]&atc_iconid=0&atc_content=[标签:内容]
&atc_autourl=1&atc_usesign=1&atc_convert=1&digest=0&atc_rvrc=0&atc_money=0&atc_credittype=money
&atc_downrvrc1=0&atc_desc1=&attachment_1=&step=2&pid=&action=new&fid=[分类ID]&tid=0&article=&special=0
Locoy PHPWind8.jpg
图7 帖子发布时文章post参数设置

图7就是post的设置,里边的其它参数的意义可以查看源码里对应的表单项的意义,以便按需要进行修改。

测试发帖,成功,标志码“发贴完毕点击进入主题列表”,再找一些出错代码,就可以了。

Locoy PHPWind9.jpg
图8 最后的文章发表参数设置

最后一页填上一些该模块的注意事项就相关备注

本系统只能通过发送数据包的形式登陆,不然用内置浏览器登陆会提示没有登陆。


参考来源[ ]

火车采集器使用手册导航

安装

系统安装

主程序

主程序|主菜单|命令行启动|随机文件夹保存数据|正则匹配模式采集数据|采集记录筛选|代理服务器采集数据|POST方式获得网址|拓展插件|分页采集|多页采集|数据导出|多任务多线程|手动链接格式设置|循环匹配采集|网站登陆采集|列表缩略图及标签采集|html标签排除|全局词语替换|首图缩略|FTP文件上传|附件上传|本地数据编辑|下载导出|图片下载|Flash文件下载|任意格式文件下载|采集数据导入数据库|任务定时自动更新|任务运行日志|自动中文分词|自动摘要和拼音|前后截取模式|采集任务新建

子程序

源代码获取与模拟|Web在线发布模块编辑器|Web在线发布配置管理|数据库发布模块编辑器|数据库发布配置管理|工具箱|编程插件管理|翻译测试|中文分词测试|自动运行管理器 任务队列管理器|自动升级程序

应用拓展

数据库发布模块编辑器制作|外部编程插件开发

模块开发

DedeCMS文章模块|PHPWind论坛模块|Discuz论坛模块

FAQ

使用前常见问题|编辑任务中常见问题|发布失败常见问题|使用中常见问题|VIP版本常见问题