Задача — получить данные с сервера.
Посылаю запрос на авторизацию. Все ок.
После авторизации для всех последующих запросов сохраняю 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();
Думается, вам нужно во второй запрос передавать cookie, полученные от первого. Скорее всего, сервер для пущей безопасности всё время меняет ключи.
Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование вами данной информации и (ii) вы принимаете на себя весь риск, связанный с использованием данной информации.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Хотя, похоже, это так и происходит... М-да...
Данная информация предоставляется на условиях «КАК ЕСТЬ», без предоставления каких-либо гарантий и прав. Используя данную информацию, вы соглашаетесь с тем, что (i) Майкрософт не несет ответственности за использование вами данной информации и (ii) вы принимаете на себя весь риск, связанный с использованием данной информации.
данное сообщение получено с www.gotdotnet.ru
ссылка на оригинальное сообщение
Здравствуйте, Name, Вы писали:
N>Хотя, похоже, это так и происходит... М-да...
N>
данное сообщение получено с www.gotdotnet.ru
N>ссылка на оригинальное сообщение
Ну да — вот именно поэтому я и не понимаю, в че дело. Вроде все правильно, а не работает.
Сервер закрывает соединение на второй запрос, потому что другая сессия с таким логином активна.
Пробовал даже логиниться во второй раз полсе певрго запроса — все равно не работает -(