找回密码
 加入
搜索
查看: 5458|回复: 5

[IE类操作] Post与Cookie【XMLHTTP】

[复制链接]
发表于 2011-3-29 20:24:23 | 显示全部楼层 |阅读模式
有一段时间的事情了,突然回想起来,不知道是啥原因。因为一直没搞懂,恳请高人指点。

网页上有个按钮,点击后会出现“今日头牌是:XXX”的提示。我找到这个按钮的实际网址,在我输入账号、密码登录后,直接在地址栏输入按钮的网址,就会出现出现“今日头牌是:XXX”。如果我没有登录,那么输入网址,会提示“请登录……”。

在学习Autoit的过程中,我想练练手,通过POST的方式去点击按钮。于是用HttpWatch抓取了数据如下:
POST    /***/todaygirl=1    HTTP/1.1
x-requested-with: XMLHttpRequest
Accept-Language: zh-cn
Accept: application/json, text/javascript, */*
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)
Referer: http://***/***.html
Host: www.***.net
Content-Length: 0
Connection: Keep-Alive
Cache-Control: no-cache
Cookie:******************************************


通过一个小工具“vincent post发送工具”,我将按钮的实际网址“http://****/***/todaygirl=1”   和Cookie的内容录入 ,点击“发送”后,能成功出现“今日头牌是:XXX”的提示,返回值为6 。如果仅录入网址,不录入Cookie内容,会提示“请登录……”,返回值为2。

但是我用Autoit编写代码如下,确始终提示“请登录……”,返回值为2,和用小工具时未录入Cookie的状况一样。

$oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("post","http://****/***/todaygirl=1",false)
$oHTTP.setRequestHeader("x-requested-with", "XMLHttpRequest")
$oHTTP.setRequestHeader("Accept-Language", "zh-cn")
$oHTTP.setRequestHeader("Accept", "application/json, text/javascript, */*")
;$oHTTP.setRequestHeader("Content-Type", "application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Accept-Encoding", "gzip, deflate")
$oHTTP.setRequestHeader("User-Agent", "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0)")
$oHTTP.setRequestHeader("Referer","http://***/***.html")
$oHTTP.setRequestHeader("Host", "www.***.net")
$oHTTP.setRequestHeader("Content-Length", "0")
$oHTTP.setRequestHeader("Connection", "Keep-Alive")
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Cookie", "*****************************")
$oHTTP.Send()

我曾经怀疑Cookie值是不是始终在变化,所以每次不一样,而且我也确实观察到貌似Cookie中的个别数值有细微的变动。但是在小工具上,依旧使用之前的Cookie值,也照样成功。所以我感觉应该不是Cookie值的问题,可能是代码的问题。
发表于 2011-3-29 23:09:54 | 显示全部楼层
cookie失效
先用autoit登录该站,获得cookie后,再用xmlhttp做post
发表于 2011-3-30 08:00:10 | 显示全部楼层
XMLHTTP 设置Cookie失败。

XMLHTTP是老旧的东西了,可以考虑换用其他的方法。
 楼主| 发表于 2011-3-30 09:37:00 | 显示全部楼层
回复 2# bakefish


疑难的就是,Cookie是我在运行自编代码之前,用Http Watch 抓包抓的,用在我说的“Post发送工具”上一切正常,但用Autoit上就不行了……
 楼主| 发表于 2011-3-30 09:38:23 | 显示全部楼层
回复 3# republican


    请教:其它还有什么方法吗?愿闻其详。或给个资料的链接地址。谢谢
 楼主| 发表于 2011-3-30 09:39:01 | 显示全部楼层
有个 winhttp 不知道是新的方法还是旧方法……
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-15 10:02 , Processed in 0.077978 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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