Получить URL после изменения - PullRequest
0 голосов
/ 25 декабря 2009

После авторизации на www.vkontakte.ru через ie8 меня охватывает страница: www.vkontakte.ru/MyPage Но я не могу получить www.vkontakte.ru/MyPage через код

        HttpWebRequest authRequest = (HttpWebRequest)WebRequest.Create(new Uri("http://vkontakte.ru/login.php", UriKind.Absolute));
        authRequest.CookieContainer = new CookieContainer();
        authRequest.AllowAutoRedirect = false;
        string param = string.Format("email={0}&pass={1}&expire=1", HttpUtility.UrlEncode("---"), HttpUtility.UrlEncode("---"));
        authRequest.Method = "POST";
        authRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.3) Gecko/20090824 Firefox/3.5.3 (.NET CLR 3.5.30729)";
        authRequest.ContentType = "application/x-www-form-urlencoded";
        authRequest.ContentLength = param.Length;
        authRequest.GetRequestStream().Write(Encoding.GetEncoding(1251).GetBytes(param), 0, param.Length);

HttpWebResponse authResponse = (HttpWebResponse)authRequest.GetResponse(); 
listBox1.Items.Add(authRequest.Address); 

Возвращает http://vkontakte.ru/ вместо www.vkontakte.ru/MyPage = ( HttpContext.Current.Request.Url.AbsoluteUri - может помочь? помоги мне!

1 Ответ

2 голосов
/ 25 декабря 2009

Вы забыли закрыть поток запросов.

Вы должны написать следующее:

using (Stream requestStream = authRequest.GetRequestStream())
using (StreamWriter writer = new StreamWriter(requestStream, Encoding.GetEncoding(1251))
    writer.Write(param);

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...