POST提交【数据】的问题!正在改源代码(已解决)
本帖最后由 qq123123 于 2010-10-27 19:22 编辑;首先,先感谢一下进入此贴寻求帮助和热心帮助AU3迷的人,因为我也是AU3迷,凌晨4点了,还在写脚本!
#include <file.au3>
$name= "13543028893"
$oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("post","https://mail.10086.cn/Register/Default.aspx",false)
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Accept-Language", "zh-cn")
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Referer","https://mail.10086.cn/register/Default.aspx")
$oHTTP.Send("__EVENTTARGET=subSendMsm&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTExMjE0NzQ2NjMPFgIeCGNsaWVudGlkAusHFgICAQ9kFgRmDxYCHgdWaXNpYmxlaGQCCg8WAh8BaGRk&txtUserNumber="&$name&"&hdSource=&hdInviteUid=0&hdInviteSeqno=&hdInviteType=&hdInviteGroup=");post关键数据
;~$oHTTP.responsetext
MsgBox(0,0,$oHTTP.responsetext,1) ;做到这一步了,运行错误
;~MsgBox(0,0,BinaryToString($oHTTP.responseBody),1)
If StringInStr(BinaryToString($oHTTP.responseBody), "YES") Then
TrayTip('用户已存在', $name, 2)
_FileWriteLog(@ScriptDir & "\已存在账号.log",$name )
EndIf
看到POST功能很强大,自己学习做了个POST,
但是怎么测试都不对,希望高手花2分钟教下小弟,
13543028893 这个号码是已经被注册
13727004206这个是没有注册
还有一个情况是:由于手机号码欠费停机或者其他原因,您不能注册139邮箱
目的:检测出139的邮箱号码是否被注册。
脚本要求:检测速度能够快一些。可能会批量查询,自己感觉1秒钟应该能检测出5个。
学习方向:看代码学会httpwath URL的动作 和 COOKIES
=================下面是httpwathPOST 出来的数据==================
=================下面是httpwathPOST 出来的数据==================
提交表单 浏览器提交值到 https://mail.10086.cn/Register/default.aspx Completed
Started At 2007-Jan-05 04:07:40.934 (local time) Completed
HTTP Request 无条件发送此请求 https://mail.10086.cn/Register/default.aspx Completed
POST /Register/default.aspx 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: https://mail.10086.cn/Register/
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)
Host: mail.10086.cn
Content-Length: 238
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: ASP.NET_SessionId=tldcja45tm2h21zdwq1lz555
__EVENTTARGET=subSendMsm&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwULLTExMjE0NzQ2NjMPFgIeCGNsaWVudGlkAusHFgICAQ9kFgRmDxYCHgdWaXNpYmxlaGQCCg8WAh8BaGRk&txtUserNumber=13543028893&hdSource=&hdInviteUid=0&hdInviteSeqno=&hdInviteType=&hdInviteGroup=
__EVENTTARGET subSendMsm
__EVENTARGUMENT
__VIEWSTATE /wEPDwULLTExMjE0NzQ2NjMPFgIeCGNsaWVudGlkAusHFgICAQ9kFgRmDxYCHgdWaXNpYmxlaGQCCg8WAh8BaGRk
txtUserNumber 13543028893
hdSource
hdInviteUid 0
hdInviteSeqno
hdInviteType
hdInviteGroup $nReturnWebS = BinaryToString ( $oHTTP.responsetext,1 )
if StringInStr($nReturnWebS,"已经是") Then
TrayTip('用户已存在', $name, 2)
MsgBox(0,0,"")
_FileWriteLog(@ScriptDir & "\已存在账号.log",$name )
EndIf
这样写就可以了 新手飘过。。。。 为何请新手飘过? 回复 3# pusofalse
很抱歉,因为感觉新手做不出来,毕竟POST 的资料太少了!
麻烦请帮我看看这个题目怎么做! 回复 1# qq123123
$nReturnWebS = BinaryToString ( $oHTTP.responsetext,1 )
if StringInStr($nReturnWebS,"已经是") Then
TrayTip('用户已存在', $name, 2)
MsgBox(0,0,"")
_FileWriteLog(@ScriptDir & "\已存在账号.log",$name )
EndIf
他上面有个——E这里找不对,不知道是怎么回事! 不知道 LS在说什么 请重新组织语言 回复 3# pusofalse
继续在线等待题目解答!继续关注! LZ 的这段代码有什么问题?
“以获取短信验证码”来判断确实不厚道。 回复 8# republican
你运行一下看看,运行有错误,我不知道怎么改了! 这个问题是由msgbox引起的,不影响respondbody的值。 MsgBox(0,0,$oHTTP.responsetext,1) ;
中$oHTTP.responsetext试二进制的,还是字符串,我之前遇到过因为返回的内容转成字符串被截断的情况。
你白天先研究研究,晚上下班再来是你的程序 路过帮顶一下,我也学post中 我问了一下版主,版主说是运行的时候,会产生一个 密钥,要找到怎么产生的密钥,才能处理,我看了一下,我是没办法了 !求助各位! 回复 11# 左手猫头鹰
继续在线等待题目解答!继续关注! 我进入想看答案的,呵呵
因为我也想学习
页:
[1]
2