2

我在带有 Access 2007 的 vba 中使用 serverXMLHTTP 在 URL 中导航。我需要在对应用程序工作的请求中正确设置Referer 标头,因为服务器需要Referer 标头。但是当我在 serverXMLHTTP 中设置 Referer 标头时,它不会进入请求。为什么 ?

例子:

Dim XMLHTTP As Object
   Set XMLHTTP = CreateObject("MSXML2.serverXMLHttp")

   XMLHTTP.Open "GET", "http://X.X.X.X/headers.php", False
   XMLHTTP.setRequestHeader "Referer", "http://www.example.com/"  'in case the server cares
   XMLHTTP.setRequestHeader "TestHeader", "test" 
   XMLHTTP.send ""

    'wait for response
    If XMLHTTP.ReadyState <> 4 Then
      XMLHTTP.waitForResponse 120
    End If

    MsgBox XMLHTTP.responseText
    Set XMLHTTP = Nothing

请求中的标头:

Connection: Keep-Alive
Accept: */*
Accept-Language: pt-br
User-Agent: Mozilla/4.0 (compatible; Win32; WinHttp.WinHttpRequest.5)
TestHeader: test
Host: X.X.X.X

TestHeader 没问题....但是Referer 不行。

你能帮我吗 ?

谢谢。

4

1 回答 1

2

Microsoft 不允许您设置 REFERER,因为它被认为是允许欺骗的安全风险。

于 2015-05-14T19:42:39.460 回答