|
有一段时间的事情了,突然回想起来,不知道是啥原因。因为一直没搞懂,恳请高人指点。
网页上有个按钮,点击后会出现“今日头牌是: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值的问题,可能是代码的问题。 |
|