找回密码
 加入
搜索
查看: 4829|回复: 3

[网络通信] [已解决]怎么判断http post登陆是否成功了啊

[复制链接]
发表于 2011-5-3 17:59:13 | 显示全部楼层 |阅读模式
本帖最后由 drunk 于 2011-5-3 18:20 编辑

郁闷,返回的cookies和我直接用ie登陆httpwatch查看返回的cookies不同,不知道登陆成功了没啊
哪位朋友有时间帮忙看看,刚接触这个,头疼啊


#AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

#include "WinHttp.au3"

Opt("MustDeclareVars", 1)

; !!!注意,如果用户名和密码无效,这个例子将失败!!!

; 认证数据
Global $sUsername = "******@126.com"
Global $sPassword = "******"

; 地址
Global $sAddress = "renren.com"

; 初始化并获得会话句柄
Global $hOpen = _WinHttpOpen("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)")

; 获取连接句柄
Global $hConnect = _WinHttpConnect($hOpen, $sAddress)

; 请求
Global $hRequest = _WinHttpOpenRequest($hConnect, _
        "POST", _ ; 动词
        "PLogin.do", _    ; 目标
        Default, _ ; 版本
        "http://www.renren.com/")    ; 提交

; 发送
_WinHttpSendRequest($hRequest, _
        "Content-Type: application/x-www-form-urlencoded" & @CRLF, _
        "email="&$sUsername&"&password="&$sPassword&"&origURL=http%3A%2F%2Fwww.renren.com%2Fhome&domain=renren.com")

; 等待响应
_WinHttpReceiveResponse($hRequest)

; 看看有返回什么
If _WinHttpQueryDataAvailable($hRequest) Then
    Global $sHeader = _WinHttpQueryHeaders($hRequest)
    MsgBox(0,0,$sHeader)
    ; 检查是否给予适当的 cookie
    If StringInStr($sHeader, 'Set-Cookie: uchomeloginuser=' & $sUsername) Then
        MsgBox(0, "", "登录成功")
    Else
        MsgBox(0, "", "登录失败")
    EndIf
Else
    MsgBox(48, "错误", "网站遇到的问题.")
EndIf


; 关闭打开的句柄并退出
_WinHttpCloseHandle($hRequest)
_WinHttpCloseHandle($hConnect)
_WinHttpCloseHandle($hOpen)
 楼主| 发表于 2011-5-3 18:15:22 | 显示全部楼层
我知道了,他跳转了..
 楼主| 发表于 2011-5-3 18:17:49 | 显示全部楼层
哈哈哈哈哈,折腾了半天,TNND!
发表于 2012-10-24 16:54:41 | 显示全部楼层
不是很懂。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-2 18:59 , Processed in 0.078901 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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