开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 2494|回复: 8
打印 上一主题 下一主题
收起左侧

[求助] DZ论坛注册问题

[复制链接]
结帖率:100% (1/1)
跳转到指定楼层
楼主
发表于 2016-9-9 19:33:32 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   云南省昆明市
做一个DZ论坛的自动注册,参考了ctw507的源码,数据能正常提交,但是返回的文本不正确,既没有返回注册成功,也没有返回失败信息。
根据返回的文本,我推测是数据没有提交上去……求大神帮忙看看是什么原因。

注册代码:
  
子程序名返回值类型公开备 注
注册  
变量名类 型静态数组备 注
URL文本型 
Cookies0文本型 
Cookies1文本型 
Cookies2文本型 
cookies3文本型 
Backe_TXT文本型 
Formhash文本型 
Referer文本型引用页
用户名_ID文本型 
用户名文本型 
密码_ID文本型 
密码文本型 
确认密码_ID文本型 
Email_ID文本型 
邮箱文本型 
姓名_ID文本型 
姓名文本型 
手机_ID文本型 
手机文本型 
支fu宝_ID文本型 
succeed整数型 
POST数据文本型 
时间戳文本型 
' 进入许可区 (许可证)
日志输出 (“正在检查网络连接……”)
如果真 (系统_是否已联网 ())
日志输出 (“网络异常!!”)
线程_销毁 (线程句柄)
调试输出 (系统_是否已联网 ())
日志输出 (“正在检查Formhash是否正确……”)
网页_清除Cookie (“nainiu7.com”)
判断循环首 ()
URL = “http://nainiu7.com/member.php?mod=register”
Backe_TXT = 网页_访问S (URL, , , Cookies0, Cookies1, “Referer:http://www.nainiu7.com/portal.php?x=195454”)
调试输出 (Cookies0)
调试输出 (Cookies1)
' 调试输出 (Backe_TXT)
Formhash = 文本_取出中间文本 (Backe_TXT, #formhash, #引号, )
' 调试输出 (Formhash)
用户名_ID = 文本_取出中间文本 (Backe_TXT, #for, #引号“>用户名:”)
' 调试输出 (用户名_ID)
密码_ID = 文本_取出中间文本 (Backe_TXT, #常量1, #引号, , )
确认密码_ID = 文本_取出中间文本 (Backe_TXT, #常量2, #引号 )
Email_ID = 文本_取出中间文本 (Backe_TXT, #常量3, #引号 )
姓名_ID = 文本_取出中间文本 (Backe_TXT, #常量4, #引号 )
手机_ID = 文本_取出中间文本 (Backe_TXT, #常量5, #引号 )
支fu宝_ID = 文本_取出中间文本 (Backe_TXT, #常量6, #引号 )
Referer = 文本_取出中间文本 (Backe_TXT, #referer, #引号 )
调试输出 (密码_ID)
调试输出 (确认密码_ID)
调试输出 (Email_ID)
调试输出 (姓名_ID)
调试输出 (手机_ID)
调试输出 (支fu宝_ID)
如果真 (Formhash ≠ “”)
跳出循环 ()

判断循环尾 ()
日志输出 (“正在检查用户名是否合法……”)
判断循环首 ()  ' 用户名检查
用户名 = 文本_取随机字母 (2, 0)文本_取随机数字 (4, 0)
URL = “http://www.nainiu7.com/forum.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkusername&username={用户名}”
URL = 子文本替换 (URL, “{用户名}”, 用户名, , , )
' 调试输出 (URL)
Backe_TXT = 网页_访问S (URL, , , , Cookies2, #referer协yi头 )
调试输出 (Cookies2)
succeed = 寻找文本 (Backe_TXT, “succeed”, , )
如果真 (succeed ≠ -1)
跳出循环 ()

判断循环尾 ()
日志输出 (“正在检查邮箱是否合法……”)
判断循环首 ()  ' 邮箱检查
邮箱 = 文本_取随机数字 (到整数 (文本_取随机范围数字 (9, 10)), 0)“@qq.com”
' 调试输出 (邮箱)
Cookies2 = 网页_Cookie合并更新 (Cookies2, Cookies1)
调试输出 (Cookies2)
URL = “http://www.nainiu7.com/forum.php?mod=ajax&inajax=yes&infloat=register&handlekey=register&ajaxmenu=1&action=checkemail&email={邮箱}”
URL = 子文本替换 (URL, “{邮箱}”, 邮箱, , , )
Backe_TXT = 网页_访问S (URL, , , , cookies3, #referer协yi头 )
succeed = 寻找文本 (Backe_TXT, “succeed”, , )
调试输出 (cookies3)
' 调试输出 (Backe_TXT)
如果真 (succeed ≠ -1)
跳出循环 ()

判断循环尾 ()
延时 (1000)
密码 = “a3653365”
手机 = “1”文本_取随机范围数字 (5, 9)文本_取随机数字 (9, 0)
姓名 = 文本_取随机姓氏 (0)文本_取随机汉字 (取随机数 (1, 2), 0)
cookies3 = cookies3 + Cookies2
cookies3 = 网页_Cookie合并更新 (cookies3, Cookies1)
URL = “http://www.nainiu7.com/member.php?mod=register&inajax=1”
POST数据 = #data
POST数据 = 子文本替换 (POST数据, “[用户名ID]”, 用户名_ID, , , )
POST数据 = 子文本替换 (POST数据, “[密码ID]”, 密码_ID, , , )
POST数据 = 子文本替换 (POST数据, “[密码确认ID]”, 确认密码_ID, , , )
POST数据 = 子文本替换 (POST数据, “[邮箱ID]”, Email_ID, , , )
POST数据 = 子文本替换 (POST数据, “[姓名ID]”, 姓名_ID, , , )
POST数据 = 子文本替换 (POST数据, “[手机ID]”, 手机_ID, , , )
POST数据 = 子文本替换 (POST数据, “[支fu宝ID]”, 支fu宝_ID, , , )
POST数据 = 子文本替换 (POST数据, “{用户名}”, 用户名, , , )
POST数据 = 子文本替换 (POST数据, “{密码}”, 密码, , , )
POST数据 = 子文本替换 (POST数据, “{姓名}”, 姓名, , , )
POST数据 = 子文本替换 (POST数据, “{邮箱}”, 邮箱, , , )
POST数据 = 子文本替换 (POST数据, “{手机}”, 手机, , , )
POST数据 = 子文本替换 (POST数据, “{formhash}”, Formhash, , , )
POST数据 = 子文本替换 (POST数据, “{referer}”, Referer, , , )
调试输出 (cookies3)
日志输出 (“正在提交数据……”)
判断循环首 ()
Backe_TXT = 到文本 (网页_访问 (URL, 1, POST数据, cookies3, Cookies2, “Content-Type: multipart/form-data; boundary=------WebKitFormBoundary4Lfs4YZv1xZg3LM3”))
' “Content-Type: multipart/form-data; boundary=------WebKitFormBoundary4Lfs4YZv1xZg3LM3”
调试输出 (Cookies2)
如果真 (Backe_TXT ≠ “”)
跳出循环 ()

判断循环尾 ()
如果真 (寻找文本 (Backe_TXT, “感谢您”, , ) ≠ -1)
' 调试输出 (Backe_TXT)
调试输出 (Backe_TXT)
' 退出许可区 (许可证)
线程_销毁 (线程句柄)


i支持库列表   支持库注释   
spec特殊功能支持库

  
子程序名返回值类型公开备 注
日志输出  
参数名类 型参考可空数组备 注
内容文本型
变量名类 型静态数组备 注
时间文本型 
时间 = 到文本 (取现行时间 ())
时间 = 文本_取出中间文本 (时间, “日”, “秒”, )
时间 = 子文本替换 (时间, “时”, “:”, , , )
时间 = 子文本替换 (时间, “分”, “:”, , , )
编辑框1.加入文本 (时间 + “ | ” + 内容 + #换行符 )


返回的文本:
<?xml version="1.0" encoding="gbk"?>
<root><![CDATA[<script type="text/javascript">
var strongpw = new Array();
var pwlength = 6;
</script>

<script src="data/cache/register.js?ka2" type="text/javascript"></script>

<div id="ct" class="ptm wp cl">
<div class="nfl" id="main_succeed" style="display: none">
<div class="f_c altw">
<div class="alert_right">
<p id="succeedmessage"></p>
<p id="succeedlocation" class="alert_btnleft"></p>
<p class="alert_btnleft"><a id="succeedmessage_href">如果您的浏览器没有自动跳转,请点击此链接</a></p>
</div>
</div>
</div>
<div class="mn">

<div class="bm" id="main_message">

<div class="bm_h bbs" id="main_hnav">
<span class="y">
<a href="member.php?mod=logging&amp;action=login&amp;referer=http%3A%2F%2Fwww.nainiu7.com%2Fmember.php%3Fmod%3Dregister%26inajax%3D1" class="xi2">已有帐号?现在登录</a>
</span>
<h3 id="layer_reginfo_t" class="xs2">
立即注册</h3>
</div>

<p id="returnmessage4"></p>

<form method="post" autocomplete="off" name="register" id="registerform" enctype="multipart/form-data" action="member.php?mod=register">
<div id="layer_reg" class="bm_c">
<input type="hidden" name="regsubmit" value="yes" />
<input type="hidden" name="formhash" value="59231b09" />
<input type="hidden" name="referer" value="http://www.nainiu7.com/member.php?mod=register&inajax=1" />
<input type="hidden" name="activationauth" value="" />
<div class="mtw">
<div id="reginfo_a">
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="aNCRHJ">用户名:</label></th>
<td><input type="text" id="aNCRHJ" name="" class="px" tabindex="1" value="" autocomplete="off" size="25" maxlength="15" required /></td>
<td class="tipcol"><i id="tip_aNCRHJ" class="p_tip">用户名由 3 到 15 个字符组成</i><kbd id="chk_aNCRHJ" class="p_chk"></kbd></td>
</tr>
</table>
</div>

<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="iHzUlH">密码:</label></th>
<td><input type="password" id="iHzUlH" name="" size="25" tabindex="1" class="px" required /></td>
<td class="tipcol"><i id="tip_iHzUlH" class="p_tip">请填写密码, 最小长度为 6 个字符</i><kbd id="chk_iHzUlH" class="p_chk"></kbd></td>
</tr>
</table>
</div>

<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="Jgvg44">确认密码:</label></th>
<td><input type="password" id="Jgvg44" name="" size="25" tabindex="1" value="" class="px" required /></td>
<td class="tipcol"><i id="tip_Jgvg44" class="p_tip">请再次输入密码</i><kbd id="chk_Jgvg44" class="p_chk"></kbd></td>
</tr>
</table>
</div>

<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="YnX50R">Email:</label></th>
<td><input type="text" id="YnX50R" name="" autocomplete="off" size="25" tabindex="1" class="px" value="" required /><br /><em id="emailmore">&nbsp;</em></td>
<td class="tipcol"><i id="tip_YnX50R" class="p_tip">请输入正确的邮箱地址</i><kbd id="chk_YnX50R" class="p_chk"></kbd></td>
</tr>
</table>
</div>
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="realname">真实姓名:</label></th>
<td><input type="text" name="realname" id="realname" class="px" value="" tabindex="1" /></td>
<td class="tipcol"><i id="tip_realname" class="p_tip"></i><kbd id="chk_realname" class="p_chk"></kbd></td>
</tr>
</table>
</div>
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="mobile">手机:</label></th>
<td><input type="text" name="mobile" id="mobile" class="px" value="" tabindex="1" /></td>
<td class="tipcol"><i id="tip_mobile" class="p_tip"></i><kbd id="chk_mobile" class="p_chk"></kbd></td>
</tr>
</table>
</div>
<div class="rfm">
<table>
<tr>
<th><span class="rq">*</span><label for="alipay">支fu宝:</label></th>
<td><input type="text" name="alipay" id="alipay" class="px" value="" tabindex="1" /></td>
<td class="tipcol"><i id="tip_alipay" class="p_tip"></i><kbd id="chk_alipay" class="p_chk"></kbd></td>
</tr>
</table>
</div>


</div>

</div>

</div>

<div id="layer_reginfo_b">
<div class="rfm mbw bw0">
<table width="100%">
<tr>
<th>&nbsp;</th>
<td>
<span id="reginfo_a_btn">
<em>&nbsp;</em><button class="pn pnc" id="registerformsubmit" type="submit" name="regsubmit" value="true" tabindex="1"><strong>提交</strong></button>
</span>
</td>
<td></td>
</tr>
</table>
</div>
</div>
</form>
</div>
<div id="layer_regmessage"class="f_c blr nfl" style="display: none">
<div class="c"><div class="alert_right">
<div id="messageleft1"></div>
<p class="alert_btnleft" id="messageright1"></p>
</div>
</div>

<div id="layer_bbrule" style="display: none">
<div class="c" style="width:700px;height:350px;overflow:auto"><br />
<br />
<br />
</div>
<p class="fsb pns cl hm">
<button class="pn pnc"><span>同意</span></button>
<button class="pn"><span>不同意</span></button>
</p>
</div>

<script type="text/javascript">
var ignoreEmail = false;
addFormEvent('registerform', 0);
function showBBRule() {
showDialog($('layer_bbrule').innerHTML, 'info', '疯狂奶牛 网站服务条款');
$('fwin_dialog_close').style.display = 'none';
}
</script>

</div></div>
</div>]]></root>


源码.zip (854.42 KB, 下载次数: 20)





头像被屏蔽
结帖率:90% (19/21)
沙发
发表于 2016-9-9 19:37:01 | 只看该作者   海南省海口市
头晕
回复 支持 反对

使用道具 举报

结帖率:50% (8/16)

签到天数: 7 天

板凳
发表于 2016-9-9 19:59:31 | 只看该作者   山西省吕梁市
Content-Type: multipart/form-data; boundary=---------------------------7e0ee5408a4
回复 支持 反对

使用道具 举报

结帖率:50% (8/16)

签到天数: 7 天

地板
发表于 2016-9-9 20:00:32 | 只看该作者   山西省吕梁市
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="regsubmit"

yes
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="formhash"

9b3da02b
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="referer"

http://www.nainiu7.com/portal.php?x=195454
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="activationauth"


-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="aNCRHJ"

veco6835
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="iHzUlH"

a3653365
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="Jgvg44"

a3653365
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="aNCRHJ"

[email protected]
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="realname"

屈毒莆
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="mobile"

16485922537
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="alipay"

16485922537
-----------------------------7e0ee5408a4
Content-Disposition: form-data; name="regsubmit"

true
-----------------------------7e0ee5408a4--
回复 支持 反对

使用道具 举报

结帖率:50% (8/16)

签到天数: 7 天

地下
发表于 2016-9-9 20:01:41 | 只看该作者   山西省吕梁市
WebKitFormBoundary4Lfs4YZv1xZg3LM3   替换成7e0ee5408a4   这个数值是会变的
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
6
 楼主| 发表于 2016-9-10 13:35:48 | 只看该作者   云南省昆明市
BlackVmood 发表于 2016-9-9 20:01
WebKitFormBoundary4Lfs4YZv1xZg3LM3   替换成7e0ee5408a4   这个数值是会变的

改了……返回值还是一样的啊……
回复 支持 反对

使用道具 举报

结帖率:50% (8/16)

签到天数: 7 天

7
发表于 2016-9-10 17:55:50 | 只看该作者   山西省吕梁市
2B青年,欢乐多 发表于 2016-9-10 13:35
改了……返回值还是一样的啊……

这个值会变    不知道多长时间会变动一次 我刚才看了 又变了
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
8
 楼主| 发表于 2016-9-10 19:22:07 | 只看该作者   云南省昆明市
BlackVmood 发表于 2016-9-10 17:55
这个值会变    不知道多长时间会变动一次 我刚才看了 又变了

额……这个分割符是每次都在变的,我看了一些教程,他们说可以使用一个固定值就可以,因为这个只是一个分割符,我的问题是,POST数据可以正常提交,但是返回的文本不正确。我已在任务大厅发布了任务,请人来帮忙解决了,但是还是非常感谢你的回答。
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
9
 楼主| 发表于 2016-9-13 19:57:09 | 只看该作者   云南省昆明市
先感谢大家的回复,这个问题我已经解决了,今天就贴出解决方法,有这方面问题的朋友可以以此为参考。
首先,关于协yi头,协yi头中的分隔符是会动态变化的,但是我们可以指定一个固定的值,这个不影响POST提交。其关键还是在Cookie的处理上,这个网站在打开的时候(也就是GET时),会返回一条COOKIE(cookie1)在客户Duan的电脑中,而这段COOKIE在下段命令(POST提交时)会读取,所以我们需要在POST时提交这段cookie(cookie0),来让服务器知道你已经开始注册了。
  
子程序名返回值类型公开备 注
初始化  
变量名类 型静态数组备 注
URL文本型 
返回的值文本型 
cookie1文本型 
cookie2文本型 
URL = “http://www.nainiu7.com/member.php?mod=register”
返回的值 = 到文本 (网页_访问_对象 (URL, , , cookie1 , cookie1, ))
formhash = 文本_取出中间文本 (返回的值, #常_formhash, #引号, )
cookie0 = 网页_Cookie合并更新 (cookie0, cookie1)

cookie0是一个全局变量,在合并命令前没有定义。
  
POSTdata = 子文本替换 ( #常_data, “[formhash]”, formhash, , , )
URL = “http://www.nainiu7.com/member.php?mod=register&inajax=1”
返回的值 = 到文本 (网页_访问_对象 (URL, 1, POSTdata, cookie0, cookie0, #常_协yi头 ))
调试输出 (返回的值)


i支持库列表   支持库注释   
spec特殊功能支持库

这一段是注册的代码,要记得把提交数据中的动态formhash值替换成前面获取到的formhash值
回复 支持 反对

使用道具 举报

  高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表