xzxnovice 发表于 2013-11-1 12:16:38

怎样获取ie的cookie给WinHttpRequest使用??

#include <ie.au3>

$oHTTP = ObjCreate("WinHttp.WinHttpRequest.5.1")
$oHTTP.Option(4) = 13056 ;忽略错误标志
$oHTTP.Option(6) = True;是否接收重定向地址信息
$oHTTP.SetTimeouts(30000, 30000, 30000, 30000);超时时间设置
$oie = _IEAttach("www.autoitx.com", "URL")

ConsoleWrite($oie.document.cookie)

$oHTTP.Open('get', 'http://www.autoitx.com/memcp.php', False)
$oHTTP.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded')
$oHTTP.setRequestHeader("Cookie", 'oie.document.cookie')
$oHTTP.send()
ConsoleWrite(BinaryToString($oHTTP.responseBody))


这样没成功,有大侠成功吗???相反把WinHttpRequest的cookie给ie使用,如何实现呢?

seniors 发表于 2013-11-1 19:32:24

获取第一行cookie$cookie = $oHTTP.GetResponseHeader("Set-Cookie")如果有多行cookie$cookies = $oHTTP.getAllResponseHeaders
$sStr = '(?s)Set-Cookie:(.+?);'
$aCookie = StringRegExp($cookies, $sStr, 3)$aCookie是返回的数组

heavenm 发表于 2013-11-1 22:51:45

这个问题我也在研究!做个记录

xzxnovice 发表于 2013-11-4 09:28:25

获取第一行cookie如果有多行cookie$aCookie是返回的数组
seniors 发表于 2013-11-1 19:32 http://www.autoitx.com/images/common/back.gif

谢谢回复,但我意思不是想要$oHTTP的cookie..而是提取ie的cookie给$ohttp用。

比如说,我用ie登录论坛后,提取这个cookie给我程序WinHttp.WinHttpRequest.5.1使用,这样我就不用模拟登陆.

seniors 发表于 2013-11-4 09:42:13

$ohttp GET网址就会给你 cookie
然后你就一直用这个ookie就行了
完全应该抛弃ie
WinHttp.WinHttpRequest.5.1模拟比IE方便多了

xzxnovice 发表于 2013-11-4 11:01:59

$ohttp GET网址就会给你 cookie
然后你就一直用这个ookie就行了
完全应该抛弃ie
WinHttp.WinHttpRequest ...
seniors 发表于 2013-11-4 09:42 http://www.autoitx.com/images/common/back.gif

只想了解一下可行性,实际试验不成功。。。失败。。。。。 实用性看情况吧!!

seniors 发表于 2013-11-4 11:20:59

$oHTTP.setRequestHeader("Cookie", 'oie.document.cookie')
你的这句是错的
应该是
$cookie= oie.document.cookie
$oHTTP.setRequestHeader("Cookie", $cookie)

xzxnovice 发表于 2013-11-4 16:53:48

$oHTTP.setRequestHeader("Cookie", 'oie.document.cookie')
你的这句是错的
应该是
$cookie= oie.docum ...
seniors 发表于 2013-11-4 11:20 http://www.autoitx.com/images/common/back.gif

是我笔误了,修改正确还是没用,我想原因是$oie.document.cookie根本获取不到session的cookie

windows 7 + ie8

bakefish 发表于 2013-11-5 11:17:11

是我笔误了,修改正确还是没用,我想原因是$oie.document.cookie根本获取不到session的cookie

windo ...
xzxnovice 发表于 2013-11-4 16:53 http://www.autoitx.com/images/common/back.gif


    可能和ie8用了多标签页的缘故,你改成单标签,再试试

komaau3 发表于 2013-11-7 21:39:05

session丢失了
页: [1]
查看完整版本: 怎样获取ie的cookie给WinHttpRequest使用??