2009-12-24 61 views
0

通过ie8我在www.vkontakte.ru网站上授权跨页: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

运行提琴手,看看会发生什么。 – SLaks 2009-12-24 22:41:15

+0

怎么样seetinng自动重定向到false – 2009-12-24 22:45:58

+0

他想重定向。 – SLaks 2009-12-24 22:46:17

回答

2

你忘了关闭请求流

你应该写如下:

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

另外,您应该运行Fiddler检查请求和响应的样子。