Не удается отправить куки по запросу http

У меня есть код VBScript, который отправляет запрос AJAX на сервер с cookie с помощью MSXML2.XMLHTTP объект. Я читал о этот баг и обходной путь. Вызывая setRequestHeader два раза, куки должны быть правильно отправлены .. но этого не происходит ..

Код VBScript:

Dim http
set http =  WScript.CreateObject("MSXML2.XMLHTTP")
http.open "POST", "http://localhost/echo", false
http.setRequestHeader "X-Requested-With", "XMLHttpRequest"http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"http.setRequestHeader "Cookie", "SESSID=f3rds19k7qu58pvmb80561dc76" '1st invoke  '
http.setRequestHeader "Cookie", "SESSID=f3rds19k7qu58pvmb80561dc76" '2nd invoke  '
http.send sReq

msgbox http.responseText

И на стороне сервера в http://localhost/echo/index.php содержит код

<?php print_r(getallheaders());?>

этот код php в основном только повторяет заголовок запроса обратно к клиенту, и даже я вызываю дважды, что я получил:

Array
(
[Accept] => */*
[X-Requested-With] => XMLHttpRequest
[Accept-Language] => id
[Accept-Encoding] => gzip, deflate
[User-Agent] => Mozilla/4.0 (bla..bla..bla...)
[Host] => localhost
[Connection] => Keep-Alive
[Cache-Control] => no-cache
)

Как вы можете видеть, нет cookie в шапке. Как сделать так, чтобы куки отправлялись на сервер?

0

Решение

Наконец я нашел решение … просто .. просто используйте WinHTTP.WinHTTPRequest вместо MSXML2.XMLHTTP

Dim http
set http =  WScript.CreateObject("WinHTTP.WinHTTPRequest.5.1")
http.open "POST", "http://localhost/echo", false
http.setRequestHeader "X-Requested-With", "XMLHttpRequest"http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded"http.setRequestHeader "Cookie", "SESSID=f3rds19k7qu58pvmb80561dc76"
msgbox http.responseText
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]