娃娃 发表于 2009-3-13 21:01:06

新云WEB发布模块的制作教程

本帖最后由 娃娃 于 2009-4-6 14:30 编辑

一、准备工作
有新云系统的朋友就打开你最新的系统准备一起做模块,没有抓包工具的朋友可以去这里下载。http://www.locoy.com/locoy/2009/0210/help-77.html。这个要用的工具一个是抓包工具,另一个是火车采集器2009 版的模拟post工具。这个比较专业一些
二、开始制作
现在我们开始讲一下新云的模块制作,先从简单的说文章,火车采集器web发布模块的原理很简单的,就是模仿浏览器发送数据包,一般用的就是post数据给网站,有的也可能是get方法。
先打开模块编辑器
登陆设置这块一般不用设置,因为一般的系统都要用验证码什么的,还不如用内置浏览器登陆获取登陆信息方便,除过一些特殊的系统,如phpwind
现在我们打开新云文章系统,发布一个文章,比如填写这几个表单里的内容,一般建议写成字母的或英文的,因为有时系统会编码,发出去我们就不知道哪个是哪个了。(补充:为了方便知道那个是标题。内容这些参数,可以填写成数字,比如:标题填写1,内容填写2 关键字填写3)

现在打开抓包工具,选中发布文章的这个页面,选中有post数据的那行,然后查看发送数据的相关信息


然后点发布,看抓取的数据包

选中有post数据的那行,然后查看发送数据的相关信息

全部复制
然后在打开的获取源代码,http模拟提交 工具里点
然后再复制这一段数据

放到
点开始提交

程序返回一个成功的标识,再提交一次,还是成功的

后台查看发布的是正确的.做这个测试的目的何在呢?主要是为了验证这个模块的难度和是不是可以做在线发布模块
比如有的系统有随机值的话,每次不一样的话第二次就可能发布不成功,所以说明这个模块是比较简单的


现在我们来填写post数据这块


现在看下这些参数,第一个是post地址,我们可以从这里看到后台的目录是/admin/,一般说来,后台的管理目录是可以改变名子的,所以为了做通用型的模块,我们不取管理目录,post的数据就是刚才我们提交的那些数据,我们复制并替换一下action=save&ChannelID=1&classid=1&SpecialID=0&BriefTopic=0&title=[标签:标题]&ColorMode=0&FontMode=0&subtitle=subtitle&Related=&Author=%D8%FD%C3%FB&font2=&ComeFrom=%B1%BE%D5%BE%D5%FB%C0%ED&font1=&Taglist=&Tagstring=tag1%2Ctag2&content=%3Cp%3E[标签:内容]%3C%2Fp%3E&ImageUrl=&UploadFileList=&ImageFileList=&UserGroup=0&PointNum=0&good=0&bad=0&AllHits=0&star=3&WriteTime=2009-3-13+20%3A36%3A14&AutoPages=1&isAccept=1&OuterLinks=&btnSubmit=%B1%A3%B4%E6%CE%C4%D5%C2

这是参数,具体的意思我们可以打开发表的页面对照查看一下意思,ChannelID=1&classid=1 这里分别就是频道id和栏目id,我们这里是固定文章的,所以只要改一下栏目id就可以了,classid=[分类ID],WriteTime=2009-3-13+20%3A36%3A14 这个是文章发布时系统给的时间,我们就用这个系统时间,现在将一下如何获取这个值,用登陆随机值。登陆随机值可以获取一些页面里的所有参数,我们查看发布页面的源代码,<td align="right" class="tablerow1"><b>更新时间:</b></td>
          <td class="tablerow1"><input name="WriteTime" type="text" id="WriteTime" size="25" value="2009-3-13 21:01:42">,
发现这个时间了,这样获取这个时间,注意里边加了个(*),一般来说,有的系统可以更换模板,比如论坛的,有可能样式会不一样的,所以我们用name和value这个来获得这个值,一般可以避免这种因模板不同造成的获取不正确的问题


这样时间就可以获得了.然后将WriteTime=2009-3-13+20%3A36%3A14改成WriteTime=[登录随机值1]

现在我们讲刷新列表,这个刷新列表获取的只是刚才我们说的栏目id,一般的话直接手写也可以,主要是为了方便
,我们这个刷新列表页就是发表的来源页

<td width="15%" align="right" nowrap class="tablerow1"><b>所属分类:</b></td>
          <td width="35%" class="tablerow1">
<select name="classid" id="classid">
<option value="0">≡选择详细分类≡</option>
<option value="1">测试文章分类一</option>
<option value="2">文章测试分类二</option>

这里一般要选区域,像这种的分类列表的样式是这样的<option value="[分类ID]">[分类名称]</option>
,比较简单,如果有复杂一点的呢

比如是这种的<option value="0">≡选择详细分类≡</option>
<option value="1" selected=selected>测试文章分类一</option>
<option value="2">文章测试分类二</option>
就要写成<option value="[分类ID]"(*)>[分类名称]</option>
这个主要还是获取这个分类id,分类名称可以不要

现在我们就可以获取到分类id了,页面开始和结束区域还是取保守下,主要要考虑到通用

现在我们可以保存一下先测试一下了


测试是可以看到刷新列表是成功的,我们选一个测试发布,注意找里边的成功标识码。



添加新的文章成功


现在我们来获取发布失败标识码

这个就在刚才的获取源代码工具里测试

主要测试的几点是,标题为空,内容为空,标题过长,标题过短,内容过长过短等,这样获得所有可能出现的失败标识码,写下,这样有助于有些朋友在发布失败时查找问题所在,这个模块基本就可以直接用了。这也是一般模块作者不愿意去做的工作。就是1.对模块里的所以发布参数给予说明,当然那些固定的不变的,一般用户可以永久也不会用到的参数就可以略过了,一些常用的参数,比如这个模块里的Author就是作者,ComeFrom这个是出处,AutoPages=1这个是自动分页。
还有需要说明的你在说分页的时候,提一下手动分页符的使用。比如AutoPages=0然后内容里用
文章内容分页标签

请注意标签字母小写。2.添加模块说明,比如登陆地址那块要是 域名/后台地址,用内置浏览器登陆,一些用户可能出现的错误你知道的话也最好提一下,全部写到模块说明里,最后,注意写下制作模块的适用版本,这样,你再发布几十或几百个文章测试下效果,再排除下错误,一个通用的模块就出炉了.


新云文章模块的制作就讲到这里,大家有什么关于模块制作的问题请下边说





飛越無限 发表于 2009-3-13 21:13:58

群满员了。打酱油路过一下

懷念過去↑文 发表于 2009-3-13 21:15:25

呵呵

xyz5200 发表于 2009-3-13 21:40:30

真的是路过一次哦.呵呵

kyet222 发表于 2009-3-14 15:22:48

真的是路过一次哦.呵呵

1G空间100元 发表于 2009-3-15 09:58:39

好的 ~支持下楼主哦!

lqyang 发表于 2009-3-15 15:21:41

唉,来晚了,群满了。

pan7825 发表于 2009-3-15 17:31:18

我也要去学,一年没用,打开火车连做什么也不知道了

fendou 发表于 2009-3-16 07:35:07

太好,学习了~!谢了!

yabox 发表于 2009-3-16 11:41:50

这周做个组图的教程吧,论坛上关于图片的信息比较少,补充一下图片的。
页: [1] 2
查看完整版本: 新云WEB发布模块的制作教程