|
火车头采集器V3.X模块制作教程 By 孤魂
视频下载见底部,请单线程下载!
===================================================================================
大家好,我是孤魂,今天我给大家写一个火车头V3.X的模块制作的傻瓜教程,希望对大家有所帮助!
<!--AD BEGIN-->
我的BLOG是: http://www.kalvin.cn/ 这个记住了!如果忘记了你做的模块就用不了的%_%
里面收集了大量的有用的东东,欢迎大家光临!
^_^
<!--AD END-->
本来前两天有制作一个教程,也是录像的,但是录了一半就断了,所以.......没有发布来,今天重新录一个,你看,那天写了那么多都浪费了,真后气氛!
===================================================================================
好了,我开始了>>>
首先要准备几个软件:
1.winsock expert(对了,这个东东卡巴会报毒,所以我先关掉卡巴!!!)
http://www.kalvin.cn/read.php/136.htm
2.编码转换器Encode / Decode Tools 编码转换器
http://www.kalvin.cn/read.php/160.htm
3.当然是火车头的模块制作工具
ModuleTools
===================================================================================
我们就以Discuz为例好了,开始>>打开火车头模块制作工具>>点击新建模块>>然后打开winsock expert用于我们截取登录时候的post数据>>
我的测试地址为:http://127.0.0.1/upload/这个是本机测试,在网站上也是一样的>>我用花生壳架的:http://live8.vicp.cc/upload/用这个吧,大家看着比较习惯!
我们点击网站上面的登录>>进入登录页面>>输入自己的用户名和密码>>选一个月吧>>下面看一下我操作winsock expert>>点击打开进程图标>>查看运行进程>>我用的是TT浏览器>>时面有一个Discuz的窗口>>选择打开>>然后我们在网站的登录页点点击[提交]>>看见没有,winsock expert已经截取到POST数据了>>我们查看下面得到的POST值>>
- POST /upload/logging.php?action=login& HTTP/1.1
- Accept: */*
- Referer: http://live8.vicp.cc/upload/logging.php?action=login
- Accept-Language: zh-cn
- Content-Type: application/x-www-form-urlencoded
- UA-CPU: x86
- Accept-Encoding: gzip, deflate
- User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
- Host: live8.vicp.cc
- Content-Length: 183
- Connection: Keep-Alive
- Cache-Control: no-cache
- Cookie: cdb_sid=kP6JmD
- formhash=3bd8bc0a&referer=index.php&loginfield=username&username=admin&password=123456&questionid=0&answer=&cookietime=2592000&loginmode=&styleid=&loginsubmit=%CC%E1+%26nbsp%3B+%BD%BB
复制代码
这里就是截取到的POST值>>
- POST /upload/logging.php?action=login&
复制代码
这里就是POST提交的地址了>>我们进入火车头模块制作工具里面>>因为POST后面的upload只是网站的目录,所以我们将他删掉>>*注意火车头的模块制作的时候,所有的网址页面需要使用"/"开头
- Referer: http://live8.vicp.cc/upload/logging.php?action=login
复制代码
这里就是来源页面了>>
因为我没有开验证码,所以这里就留下为空就可以了>>
注意一下这里>>formhash=3bd8bc0a有一个hash 值>>sername=admin中的admin就是我刚才输入的用户名>>password=123456中的123456就是我刚才输入的密码>>%CC%E1+%26nbsp%3B+%BD%BB这个东东想具体知道他是什么的话,就是上面说的编码转换器了>>呵呵,就是"提+ +交",这个不是变量,所以我们就不用改了>>>
所以我们刚才所改所的POST规则就为:
- formhash=[登录随机值1]&referer=index.php&loginfield=username&username=[用户名]&password=[密码]&questionid=0&answer=&cookietime=2592000&loginmode=&styleid=&loginsubmit=%CC%E1+%26nbsp%3B+%BD%BB
复制代码
失败标志的话就只有自己一个一个的去试了>>我去复制一下原来的>>呵呵,看见没有,有欢迎回来就表示登录成功了,所以我在成功标志里面写入"欢迎回来"就可以了
看这里还有一个[登录随机值1]没有搞定呢>>我们回一下登录页面>>查看源文件>>
在里面我们看到了这样一段:- <input type="hidden" name="formhash" value="3bd8bc0a">
复制代码
我们登录的页面是:- /upload/logging.php?action=login
复制代码
所以在火车头里面这样设置>>除去upload的网站目录:获取随机值页面为:- /logging.php?action=login
复制代码
3bd8bc0a这里就是随机值了,所以我们设置开始于- <input type="hidden" name="formhash" value="
复制代码
结束于"
后面反回去设置刷新列表设置!
默认论坛 这个就是我的论坛名>>我们查看源文件>>查找"默认论坛"
会找到- <a href="forum-2-1.html"><span class="bold">默认论坛</span></a>
复制代码
这里,当然,这个是可以改变的>>
我们的刷新页面地址为:http://live8.vicp.cc/upload/index.php
去掉upload目录,所以我们的刷新页面地址为:/index.php
页面开始区域和结束区域不是很特殊的话,一般情况下是不用设置的!
所面看一下分类列表格式,刚才得到的默认论坛是我们的分类论坛为:默认论坛
- <a href="forum-2-1.html"><span class="bold">默认论坛</span></a>
复制代码
将这个复制进火车头的模块制作工具里面!
我在建两个分论坛,分析一下规则!
- <a href="forum-3-1.html"><span class="bold">新论坛名称</span></a>
- <a href="forum-4-1.html"><span class="bold">新论坛名称1</span></a>
- <a href="forum-5-1.html"><span class="bold">新论坛名称2</span></a>
复制代码
看这上面你应该就明白了,3,4,5这里就是论坛的fid号了,新论坛名称这里就是论坛版块的名字,
所以我们设置的列表的规格为:
- <a href="forum-[分类ID]-1.html"><span class="bold">[分类名称]</span></a>
复制代码
下面我就发表一下文章试试?>>用winsock expert截取一下post数据,呵呵.你看,刚才没有点占停,他就不停的截取,这样原来的就会不见鸟>>这些都不是我们要的东东了!
还是关闭一下,在看一次,这次点到了,可呵!
看第三行
- POST /upload/post.php?action=newthread&fid=2&extra=page%3D1&topicsubmit=yes HTTP/1.1
- Accept: */*
- Referer: http://live8.vicp.cc/upload/post.php?action=newthread&fid=2&extra=page%3D1
- Accept-Language: zh-cn
- Content-Type: multipart/form-data; boundary=---------------------------7d6339281401e6
- UA-CPU: x86
- Accept-Encoding: gzip, deflate
- User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
- Host: live8.vicp.cc
- Content-Length: 1660
- Connection: Keep-Alive
- Cache-Control: no-cache
- Cookie: cdb_sid=kP6JmD; cdb_cookietime=2592000; cdb_auth=Zxp5W8H3HnnQTgnpKTcQ8eqKJsbfeAB3qpJAXJ3ROUne4gOilu6KPnbpCA; cdb_visitedfid=2; cdb_oldtopics=D1D; cdb_fid2=1163601767
复制代码
你发现这里还没有你需要的post值.在看第四行!
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="formhash"
- 0204a7a5
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="isblog"
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="fid"
- 2
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="readperm"
- 0
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="price"
- 0
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="subject"
- 111111111111
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="iconid"
- 0
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="message"
- 222222222
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attachperm[]"
- 0
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attachdesc[]"
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attach[]"; filename=""
- Content-Type: application/octet-stream
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attachperm[]"
- 0
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attachdesc[]"
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="attach[]"; filename=""
- Content-Type: application/octet-stream
- -----------------------------7d6339281401e6
- Content-Disposition: form-data; name="wysiwyg"
- 0
- -----------------------------7d6339281401e6--
复制代码
这里才是了,呵呵,好长哦
我们还是从第三行的内容看着走,里面有psot提交地址
- POST /upload/post.php?action=newthread&fid=2&extra=page%3D1&topicsubmit=yes HTTP/1.1
复制代码
这里就是了,删除upload目录,我们得到:
- /post.php?action=newthread&fid=2&extra=page%3D1&topicsubmit=yes
复制代码
其中fid=2这里就是论坛的分类ID
所以我们最后在火车头里面填入的发贴post处理地址为:
- /post.php?action=newthread&fid=[分类ID]&extra=page%3D1&topicsubmit=yes
复制代码
这个就是刷新页面的地址了:
- Referer: http://live8.vicp.cc/upload/post.php?action=newthread&fid=2&extra=page%3D1
复制代码
删除upload目录,我们得到:
- /post.php?action=newthread&fid=2&extra=page%3D1
复制代码
其中fid=2这里就是论坛的分类ID,我们把他粘贴到火车头里面去
你看这个post值,是这种格式的,我们必需转换成一个连串的psot值才行,所以必需删除无效的数据:
打开另外一个记事本>>将post值粘贴到新的记事本里面!
我们刚才替换了有些无效的数据:
现在把他们边在一起
- formhash=0204a7a5&isblog=&fid=2&readperm=0&price=0&subject=111111111111&iconid=0&message=222222222&attachperm[]=0&attachdesc[]=&attach[]=&filename===&attachperm[]=0&attachdesc[]=&attach[]=&filename===&wysiwyg=0
复制代码
看到我删了哪些了吗:
-----------------------------7d6339281401e6
Content-Disposition: form-data; name="
替换成了"&"
"
替换成了:
"="
删除了:Content-Type: application/octet-stream
还有将; 替换成了"&"
慢慢看吧,呵呵,反正是得到了上面的数据:就是这一段!
我们看一下刚才发的贴子!
标题为:111111111111 内容为:222222222
呵呵,这个在post数据中可以找到的,我们将其贴于火车头的模块制作工具里面将其替换过来!
忘了一个东东,第一个"&"要删掉的!
这里还有一个hash值哦:
看好了,这个hash值来源于发贴页面.我们去找一找
- <input type="hidden" name="formhash" id="formhash" value="0204a7a5">
复制代码
查到了,我们还要建一个随机值标签:
来源页面于:- /post.php?action=newthread&fid=2&extra=page%3D1
复制代码
将fid=2中的fid替换掉!变为:
- /post.php?action=newthread&fid=[分类ID]&extra=page%3D1
复制代码
一样的,开始和结束区域设置好:
开始于:- <input type="hidden" name="formhash" id="formhash" value="
复制代码
结束于"
我们得到发贴的最后post数据为:
- formhash=[登录随机值2]&isblog=&fid=2&readperm=0&price=0&subject=[标签:标题]&iconid=0&message=[标签:内容]&attachperm[]=0&attachdesc[]=&attach[]=&filename===&attachperm[]=0&attachdesc[]=&attach[]=&filename===&wysiwyg=0
复制代码
错误标志和成功标志的话还得自己去试,比如说:俺比较懒,又去复制一下原来的,你们的话就不要学俺了,根据刚才所看到的内容一项一项的输入一下
刚才有一个
非常感谢,您的主题已经发布,现在将转入主题页。
有这个就表示发贴成功了!
所以我们的发贴成功标志为:"非常感谢"
呵呵,复制原来的!
最后写你的模块名称和版本号!
将你的模块存于你的火车头程序目录下面的\Module目录下面!
后面我们测试一下火车头是否可以使用!
晕死,刚才忘了存哪里了,呵呵,找到了
测试这里差不多我就不用文字说明了,大家看操作就行了!
实际上是成功的,TNND不给面子
看见没有,发贴成功了!我去网站上面看一下有没有那Y东东
刚才发在"新论坛名称1 [id=4]"这个里面的,去看看!
YYD,UBB和HTML发贴那里要设置好哦,还有你网站的编码!
===================================================================================
下面我还有一点经验之谈,就是模块制作的时候如何减少post时数据库查询的次数!
我先复制一下刚才发贴的时候的POST数据!
- formhash=0204a7a5&isblog=&fid=2&readperm=0&price=0&subject=111111111111&iconid=0&message=222222222&attachperm[]=0&attachdesc[]=&attach[]=&filename===&attachperm[]=0&attachdesc[]=&attach[]=&filename===&wysiwyg=0
复制代码
我在通过论坛的快速发贴功能截取一下post数据试试!
- POST /upload/post.php?action=newthread&fid=4&extra=page%3D1&topicsubmit=yes HTTP/1.1
- Accept: */*
- Referer: http://live8.vicp.cc/upload/forum-4-1.html
- Accept-Language: zh-cn
- Content-Type: application/x-www-form-urlencoded
- UA-CPU: x86
- Accept-Encoding: gzip, deflate
- User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; TencentTraveler ; .NET CLR 1.1.4322; .NET CLR 2.0.50727)
- Host: live8.vicp.cc
- Content-Length: 137
- Connection: Keep-Alive
- Cache-Control: no-cache
- Cookie: cdb_sid=Yum9h4; cdb_cookietime=2592000; cdb_auth=Zxp5W8H3HnnQTgnpKTcQ8eqKJsbfeAB3qpJAXJ3ROUne4gOilu6KPnbpCA; cdb_visitedfid=4D2; cdb_oldtopics=D5D4D3D2D1D; cdb_fid2=1163603250; cdb_fid4=1163603721
- formhash=0204a7a5&subject=%B2%E2%CA%D4%D2%BB%CF%C2&message=%CE%D2%D4%DA%BA%F3%CC%A8%BF%AA%C6%F4%C1%CB%BF%EC%CB%D9%B7%A2%CC%F9%B9%A6%C4%DC
复制代码
我用编码转换工具转一下大家就可以看清楚了
- formhash=0204a7a5&subject=测试一下&message=我在后台开启了快速发贴功能
复制代码
对比一下,是不是少了很多post时的数据库查询呀,不过注意的是
- POST /upload/post.php?action=newthread&fid=4&extra=page%3D1&topicsubmit=yes HTTP/1.1
- Referer: http://live8.vicp.cc/upload/forum-4-1.html
复制代码
都有变,我在试一下
YYD,刚才少了几个字:
欢迎您回来,admin。现在将转入登录前页面。
呵呵,现在成功了!
因为发贴页成改了,所以hash的值的获取页面也得改一下!
- <input type="hidden" name="formhash" value="0204a7a5">
复制代码
HASH获取页面改为:
我在发贴试一下
新论坛名称2里现还没有贴子!>>登录成功>>
非常感谢,您的主题已经发布,现在将转入主题页
这样就会更快了,呵呵!
差不多就完成了,谢谢大家,记得,俺的blog的地址为:
http://www.kalvin.cn/
-------孤魂
视频下载地址:
感谢图特干线提供下载空间,附件共97.59M,不好意思了&_&
电信线路下载
网通线路下载
[ 本帖最后由 孤魂 于 2007-4-3 22:17 编辑 ] |
|