找回密码
 加入
搜索
查看: 15275|回复: 26

[IE类操作] POST提交【数据】的问题!正在改源代码(已解决)

 火.. [复制链接]
发表于 2010-10-21 04:11:30 | 显示全部楼层 |阅读模式
本帖最后由 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








=================下面是httpwath  POST 出来的数据==================
=================下面是httpwath  POST 出来的数据==================

提交表单        浏览器提交值到 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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-21 07:49:44 | 显示全部楼层
$nReturnWebS = BinaryToString ( $oHTTP.responsetext,1 )
if StringInStr($nReturnWebS,"已经是") Then  
        TrayTip('用户已存在', $name, 2)
        MsgBox(0,0,"")
_FileWriteLog(@ScriptDir & "\已存在账号.log",$name )
EndIf


这样写就可以了      新手飘过。。。。
发表于 2010-10-21 08:33:23 | 显示全部楼层
为何请新手飘过?
 楼主| 发表于 2010-10-21 12:33:20 | 显示全部楼层
回复 3# pusofalse

很抱歉,因为感觉新手做不出来,毕竟POST 的资料太少了!
麻烦请帮我看看这个题目怎么做!
 楼主| 发表于 2010-10-21 14:11:25 | 显示全部楼层
回复 1# qq123123

$nReturnWebS = BinaryToString ( $oHTTP.responsetext,1 )
if StringInStr($nReturnWebS,"已经是") Then  
        TrayTip('用户已存在', $name, 2)
        MsgBox(0,0,"")
_FileWriteLog(@ScriptDir & "\已存在账号.log",$name )
EndIf


他上面有个——E  这里找不对,不知道是怎么回事!
发表于 2010-10-21 14:25:24 | 显示全部楼层
不知道 LS在说什么    请重新组织语言
 楼主| 发表于 2010-10-21 19:43:35 | 显示全部楼层
回复 3# pusofalse

继续在线等待题目解答!继续关注!
发表于 2010-10-21 20:31:55 | 显示全部楼层
LZ 的这段代码有什么问题?

“以获取短信验证码”来判断确实不厚道。
 楼主| 发表于 2010-10-21 22:31:17 | 显示全部楼层
回复 8# republican


    你运行一下看看,运行有错误,我不知道怎么改了!
发表于 2010-10-22 06:48:03 | 显示全部楼层
这个问题是由msgbox引起的,不影响respondbody的值。
发表于 2010-10-22 08:24:20 | 显示全部楼层
MsgBox(0,0,$oHTTP.responsetext,1) ;
中$oHTTP.responsetext试二进制的,还是字符串,我之前遇到过因为返回的内容转成字符串被截断的情况。

你白天先研究研究,晚上下班再来是你的程序
发表于 2010-10-22 10:08:29 | 显示全部楼层
路过帮顶一下,我也学post中
 楼主| 发表于 2010-10-22 12:58:52 | 显示全部楼层
我问了一下版主,版主说是运行的时候,会产生一个 密钥,要找到怎么产生的密钥,才能处理,我看了一下,我是没办法了 !求助各位!
 楼主| 发表于 2010-10-22 19:24:10 | 显示全部楼层
回复 11# 左手猫头鹰


    继续在线等待题目解答!继续关注!
发表于 2010-10-22 20:26:09 | 显示全部楼层
我进入想看答案的,呵呵

因为我也想学习
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-16 21:57 , Processed in 0.085245 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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