VBA Microsoft.XMLHTTP setRequestHeader不发送cookie [英] VBA Microsoft.XMLHTTP setRequestHeader not sending cookie

查看:93
本文介绍了VBA Microsoft.XMLHTTP setRequestHeader不发送cookie的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的VBA代码发送除Cookie信息之外的所有标头.

My VBA code send every headers except for Cookie information.

Dim oXMLHttpRequest As Object
Set oXMLHttpRequest = CreateObject("Microsoft.XmlHttp")
oXMLHttpRequest.setRequestHeader "Accept", "text/html, application/xhtml+xml, */*"
oXMLHttpRequest.setRequestHeader "Accept-Language", "ko-KR"
oXMLHttpRequest.setRequestHeader "User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"
oXMLHttpRequest.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
oXMLHttpRequest.setRequestHeader "Accept-Encoding", "gzip, deflate"
oXMLHttpRequest.setRequestHeader "Connection", "Keep-Alive"
oXMLHttpRequest.setRequestHeader "DNT", "1"
oXMLHttpRequest.setRequestHeader "Cookie", "xxx=yyy"
oXMLHttpRequest.send[enter image description here][1]

正如您在下面的捕获"链接中所看到的,Cookie:xxx = yyy丢失.我没有任何线索.请帮我.谢谢.

As you see in the Capture link below, Cookie: xxx=yyy is missing.. I have no clue. Please help me. Thank you.

提琴手的捕捉:

推荐答案

有一个谣言,您必须在此处使用WinHTTP对象,而不是MSXML2.例如:

There's a rumour on Google that you have to use the WinHTTP object here and not MSXML2. E.g.:

Option Explicit

    Sub Test()

        Dim objRequest As Object
        Dim strResponse As String
        Dim blnAsync  As Boolean

        Set objRequest = CreateObject("WinHttp.WinHttpRequest.5.1")
        blnAsync = True

        With objRequest
            .Open "POST", "http://www.comparity.net/perl/form.pl", blnAsync
            .setRequestHeader "Cookie", "timtam=penguin"
            .send
            .WaitForResponse
            strResponse = .responseText
            Debug.Print strResponse
            Debug.Print .Status
        End With

    End Sub

这篇关于VBA Microsoft.XMLHTTP setRequestHeader不发送cookie的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆