2013-02-27 3 views
0

Я пытаюсь войти на сайт (не могу указать URL-адрес, это только интрасеть) с помощью POST и C# (или VB). я получаю следующее сообщение об ошибке:.net HTTP POST Метод cookie отключен

Этой система требует использования HTTP куков для проверки авторизации информации. Наша система обнаружила, что ваш браузер отключил HTTP-файлы cookie или не поддерживает их. Дополнительную информацию о том, как правильно настроить , можно найти на странице справки в вашем браузере для использования с этой системой.

Я использую следующий код:

var cookies = new CookieContainer(); 
ServicePointManager.Expect100Continue = false; 

var request = (HttpWebRequest)WebRequest.Create("http://......."); 
request.CookieContainer = cookies; 
request.Method = "POST"; 
request.ContentType = "application/x-www-form-urlencoded"; 
using (var requestStream = request.GetRequestStream()) 
using (var writer = new StreamWriter(requestStream)) 
{ 
    writer.Write("user=XX&pass=XX"); 
} 

using (var responseStream = request.GetResponse().GetResponseStream()) 
using (var reader = new StreamReader(responseStream)) 
{ 
    var result = reader.ReadToEnd(); 
    Console.WriteLine(result); 
} 

Как я могу решить эту проблему?

+0

возможно дубликат [Automatic Cookie Handling C# /. NET HttpWebRequest + HttpWebResponse] (http://stackoverflow.com/questions/571964/automatic-cookie-handling-c-net-httpwebrequesthttpwebresponse) – jgauffin

+0

вам необходимо перенести файлы cookie из запроса на вход во все последующие HTTP-запросы, как показано в вопросе, с которым я связан. – jgauffin

ответ

0

Как я могу это решить?

Рассмотрение законного трафика и воспроизведение этого кода. Мое предположение: страница входа в систему задает куки-файл и/или значение скрытой формы, либо либо оба из которых вы должны отправить на страницу входа в систему.

Итак: начать Fiddler, запросить страницу входа в систему с помощью браузера, Логин, подтвердить выше теории и восстановление из кода:

  1. GET форма Войти с CookieContainer прикрепленного
  2. форма чтения Войти и хранить скрытое значение (с) (если требуется)
  3. Сделайте POST с CookieContainer от 1 и заполните поля от 2
  4. ???
  5. Прибыль