HttpWebRequest к серверу по https
От: DunhiL  
Дата: 16.08.05 01:19
Оценка:
Задача — получить данные с сервера.
Посылаю запрос на авторизацию. Все ок.
После авторизации для всех последующих запросов сохраняю cookies.
Первый после авторизации запрос проходит нормально, а на все последующие сервер снова требует воода логина и пасворда.
Не подскажите, в чем дело? Может я неправильно что-то c cookies делаю?


HttpWebRequest    request        = null;
HttpWebResponse response    = null;
CookieContainer cookieContainer = new CookieContainer();
string        parameters    = null;
byte[]        bytes        = null;

// login to server
request = (HttpWebRequest)HttpWebRequest.Create("https://system.avinode.com/avinode/servlet/LoginServlet");

request.Method        = "POST";
request.ContentType = "application/x-www-form-urlencoded";
            
parameters = string.Format("username={0}&password={1}", "123", "123"); 
bytes = System.Text.Encoding.ASCII.GetBytes(parameters);             
            
request.ContentLength = bytes.Length; 

using (Stream outputStream = request.GetRequestStream())
{
    outputStream.Write(bytes, 0, bytes.Length);
}

response = (HttpWebResponse)request.GetResponse();

response.Close();
cookieContainer.Add(response.Cookies);



// the first request - succeeded

request = (HttpWebRequest)HttpWebRequest.Create(String.Format("{0}{1}", fullArptInfoUrl, "AAGG"));

request.Method        = "GET";
request.CookieContainer = cookieContainer;

response = (HttpWebResponse)request.GetResponse();



// the second request - faield!!!

request = (HttpWebRequest)HttpWebRequest.Create(String.Format("{0}{1}", fullArptInfoUrl, "AAGG"));

request.Method        = "GET";
request.CookieContainer = cookieContainer;

response = (HttpWebResponse)request.GetResponse();
HttpWebRequest к серверу по https
От: Аноним  
Дата: 16.08.05 01:29
Оценка:
Думается, вам нужно во второй запрос передавать cookie, полученные от первого. Скорее всего, сервер для пущей безопасности всё время меняет ключи.

Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование вами данной информации и (ii) вы принимаете на себя весь риск, связанный с использованием данной информации.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
HttpWebRequest к серверу по https
От: Аноним  
Дата: 16.08.05 01:32
Оценка:
Хотя, похоже, это так и происходит... М-да...

Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование вами данной информации и (ii) вы принимаете на себя весь риск, связанный с использованием данной информации.


данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Re: HttpWebRequest к серверу по https
От: DunhiL  
Дата: 16.08.05 03:45
Оценка:
Здравствуйте, Name, Вы писали:

N>Хотя, похоже, это так и происходит... М-да...


N>
данное сообщение получено с www.gotdotnet.ru

N>ссылка на оригинальное сообщение


Ну да — вот именно поэтому я и не понимаю, в че дело. Вроде все правильно, а не работает.
Сервер закрывает соединение на второй запрос, потому что другая сессия с таким логином активна.
Пробовал даже логиниться во второй раз полсе певрго запроса — все равно не работает -(
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.