Msxml2.ServerXMLHTTP 怎样获取 Set-Cookie

1、Msxml2.ServerXMLHTTP可以任意提交cookie,但是post模拟登陆后,获取cookie一般会找不到set-cookie,多数因网站跳转了,用chrome F12看,302或者303了,跳转之前返回的response是可以看到set-cookie的。Msxml2.ServerXMLHTTP可能太高级了,对303等跳转直接处理了,我们无法敢于,也就是说Msxml2.ServerXMLHTTP获取的cookie是跳转后的页面的http头,当然没有了。

2、解决:用winhttp。其中WinHttp.Option(6) = False,就是不自动跳转。这样返回的.getResponseHeader("Set-Cookie")就有cookie了。

response.Write(WinHttpPost("http://192.168.0.3/login/","username=bianchao&password=123456"))

Function WinHttpPost(PostUrl,PostData)
Dim WinHttp
Set WinHttp = server.createobject("WinHttp.WinHttpRequest.5.1")
WinHttp.Open "POST", PostUrl, false
WinHttp.Option(4) = 13056
WinHttp.Option(6) = False
WinHttp.setTimeouts 5000,5000,5000,5000
WinHttp.setRequestHeader "Cookie", "string"
WinHttp.setRequestHeader "Connection", "keep-alive"
WinHttp.setRequestHeader "Content-Length",Len(PostData)
WinHttp.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
WinHttp.setRequestHeader "Referer", "http://192.168.0.3/login/"
WinHttp.Send PostData
WinHttpPost=WinHttp.getResponseHeader("Set-Cookie")
Set WinHttp = nothing
End Function


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值