ОШИБКИ: Не удается отправить файлы "cookie" с клиентского XMLHTTP

ВНИМАНИЕ! Данная статья переведена с использованием программного обеспечения Майкрософт для машинного перевода и, возможно, отредактирована посредством технологии Community Translation Framework (CTF). Корпорация Майкрософт предлагает вам статьи, обработанные средствами машинного перевода, отредактированные членами сообщества Майкрософт и переведенные профессиональными переводчиками, чтобы вы могли ознакомиться со всеми статьями нашей базы знаний на нескольких языках. Статьи, переведенные с использованием средств машинного перевода и отредактированные сообществом, могут содержать смысловое, синтаксические и (или) грамматические ошибки. Корпорация Майкрософт не несет ответственности за любые неточности, ошибки или ущерб, вызванные неправильным переводом контента или его использованием нашими клиентами. Подробнее об CTF можно узнать по адресу http://support.microsoft.com/gp/machine-translation-corrections/ru.

Эта статья на английском языке: 290899
Проблема
Объект MSXML2.XMLHTTP сами по себе не использовать файлы cookie, но его можно использовать для отправки собственные файлы «cookie» от клиента к серверу. При использовании объекта MSXML2.XMLHTTP для отправки файлы "cookie" от клиента может найти файлы "cookie" пусты, когда они поступают на сервер.

Примечание: обычно сервер отправляет и получает файлы «cookie». В этом случае может отправить файлы «cookie» от клиента таким образом, нет необходимости повторной проверки подлинности клиента.
Решение
Чтобы обойти эту проблему, вызовите метод setRequestHeader cookie дважды.
Статус
Корпорация Майкрософт подтверждает, что это является ошибкой в продуктах Майкрософт, перечисленных в начале данной статьи.
Дополнительная информация

Действия для воспроизведения поведения

  1. Создание сценария Windows для отправки файла cookie:
    1. Создайте новый текстовый файл с помощью программы Блокнот или другой текстовый редактор.
    2. Вставьте следующий код в текстовый файл:
      Dim http set http =  WScript.CreateObject("MSXML2.XMLHTTP")http.open "GET", "http://localhost/user.asp", falsehttp.setRequestHeader "Cookie", "cookietest=testvalue"'http.setRequestHeader "Cookie", "cookietest=testvalue"http.sendWScript.Echo http.statusWScript.Echo http.responseText						
    3. Сохраните текстовый файл как Cookie.vbs в выбранную вами папку.
  2. Создайте страницу ASP (ASP), чтобы получать и возвращать файл cookie.
    1. Создайте новый текстовый файл с помощью программы Блокнот или другой текстовый редактор.
    2. Вставьте следующий код в текстовый файл:
      <% Response.Write "Cookie: " & CStr(Request.ServerVariables("HTTP_COOKIE"))%>						
    3. Сохранение текстового файла User.asp в папке C:\InetPub\WWWRoot или другой физический путь, соответствующий домашней папке веб-узла по умолчанию.
  3. В командной строке введите следующую команду для выполнения сценария Visual Basic Scripting Edition (VBS) с помощью сервера сценариев Windows. Измените расположение файла для ссылки на папку, где сохранен файл Cookie.vbs:WScript c:\cookie.vbs

    Возвращаемая строка файла cookie пуст.
  4. В файле Cookie.vbs раскомментируйте следующую строку:
    'http.setRequestHeader "Cookie", "cookietest=testvalue"					
  5. Сохраните Cookie.vbs.
  6. Снова запустите Cookie.vbs с использованием следующего:
    wscript c:\cookie.vbs
    Обратите внимание, что файл cookie возвращается успешно.
файл cookie MSXML2 описывается xmlhttp

Внимание! Эта статья переведена автоматически

Свойства

Номер статьи: 290899 — последний просмотр: 01/09/2016 08:09:00 — редакция: 6.0

  • kbbug kbfix kbmt KB290899 KbMtru
Отзывы и предложения