找回密码
 加入
搜索
查看: 3862|回复: 4

[网络通信] 【已解决】使用post和get中有的xp机器遇到 Error: 请求动作失败(请求于对象)

[复制链接]
发表于 2013-3-3 11:15:02 | 显示全部楼层 |阅读模式
本帖最后由 lleheaven 于 2013-3-6 14:30 编辑

RT



我机器自己一直都没遇到,但别人的机器是xp的有的就会有这个提示,我尝试把我的机器断网话,也可以有这个对话框出来,好像是在Send 这一步出错

请问这个send 有没有什么等待或超时设置的? 是不是网络不好的话就会提示请求动作失败?

刚刚学习get post,对这个不是太懂,请大牛说说呵,谢谢
Func qb_checkin($user, $pass)

        $winhttp = ObjCreate("winhttp.winhttprequest.5.1")

        $winhttp.Open("get", "http://www.qianwang365.com/cas/qianbaoLogin?service=http%3A%2F%2Fwww.qianbao666.com%2Fj_spring_cas_security_check", False)
        $winhttp.Send()
        Local $headerstr = "Set-Cookie"
        $cookies = $winhttp.GetResponseHeader($headerstr)
        ConsoleWrite($winhttp.GetResponseHeader($headerstr) & @CRLF)
        $winhttp.Open("post", "http://www.qianwang365.com/cas/qianbaoLogin?service=http%3A%2F%2Fwww.qianbao666.com%2Fj_spring_cas_security_check", False)

        $winhttp.setRequestHeader("Accept-Language", "zh-CN")
        $winhttp.setRequestHeader("Cache-Control", "no-cache")
        $winhttp.setRequestHeader("Connection", "Keep-Alive")
        $winhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
        $winhttp.setRequestHeader("Cookie", $cookieDate)
        $winhttp.setRequestHeader("Referer", "http://www.qianwang365.com/cas/qianbaoLogin?service=http%3A%2F%2Fwww.qianbao666.com%2Fj_spring_cas_security_check")
        $winhttp.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) ; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E; HaoETV; InfoPath.3)")
        $poststr = "username=" & $user & "&password=" & $pass & "<=" & $lt & "&_eventId=submit&submit=%E7%99%BB%E5%BD%95"

        $winhttp.Send($poststr)
        ConsoleWrite($winhttp.GetAllResponseHeaders & @CRLF)
代码一部分是这样的,是不是要在哪里加个保护呢?

找了个虚拟机的XP,调试重现了下,发现get 的没有问题, 在post 的send后就会fail~~

本帖子中包含更多资源

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

×
发表于 2013-3-3 18:19:17 | 显示全部楼层
Method [in]
Specifies the HTTP verb used for the Open method, such as "GET" or "PUT". Always use uppercase as some servers ignore lowercase HTTP verbs.


POST GET 请求动作改大写试试
http://msdn.microsoft.com/en-us/library/windows/desktop/aa383989(v=vs.85).aspx

评分

参与人数 1金钱 +10 收起 理由
lleheaven + 10 不好意思哈,我发完才看到你的建议,就是这 ...

查看全部评分

 楼主| 发表于 2013-3-3 18:20:57 | 显示全部楼层
囧。。。。。 自己搞定了, 从论坛里面看到一个帖子说到 post 和 get 的大小写。。。。 改成大写后, XP就ok了。。。。
 楼主| 发表于 2013-3-3 18:24:07 | 显示全部楼层
回复 2# komaau3


    谢谢咯,折腾了一下午,还是当时没仔细看说明导致的,谢谢!
发表于 2013-3-4 08:42:38 | 显示全部楼层
学习学习。。。。。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-10 16:15 , Processed in 0.074979 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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