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 に答える