Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: WebResponse HELP!!! Добавлено: 11.07.09 08:13  

Автор вопроса:  Hunter
Помогите пожалуйста!!!
Вопрос такой - получаю страницу при помощи WebResponse, вроде бы все нормально НО страница получается не до конца, а всего лишь небольшая ее часть (((
(страница получается такого вида - всего 3 символа ‹, причем веб-дебагер Fiddler выдает мне тоже самое НО в Fiddler при нажатии на кнопку "Response is encoded and may need to be decoded before inspection ... " получаю ПОЛНОЦЕННУЮ СТРАНИЧКУ )
ниже приведен код:

HttpWebRequest req =
(HttpWebRequest)HttpWebRequest.Create("http://"+textBox1.Text+"/forum/showthread.php?t=" + postNumber);
req.ContentType = "application/x-www-form-urlencoded";
req.Proxy = new WebProxy("127.0.0.1", 8888);
req.UserAgent = "Opera/9.80 (Windows NT 5.1; U; en) Presto/2.2.15 Version/10.00";
req.Accept = "text/html, application/xml;q=0.9, application/xhtml+xml, */*;q=0.1";
req.Headers.Add("Accept-Language", "ru-RU,ru;q=0.9,en;q=0.8");
req.Headers.Add("Accept-Charset", "iso-8859-1, utf-8, utf-16, *;q=0.1");
req.Headers.Add("Accept-Encoding", "deflate, gzip, x-gzip, identity, *;q=0");
req.Referer = "http://" + textBox1.Text + "/forum/forumdisplay.php?f=2";
req.Headers.Add(HttpRequestHeader.Cookie, sCookies);
req.Headers.Add("Cookie2", "$Version=1");
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
Stream str = resp.GetResponseStream();
Encoding encode = Encoding.GetEncoding("windows-1251");
StreamReader sr = new StreamReader(str, encode);
string tmp = sr.ReadToEnd();
str.Close();
textBox7.Text = tmp;

p.s. Причем, resp.GetResponseStream().Length дает нормальную длину страницы, а вот куда она девается - не могу понять (((

Ответить

  Ответы Всего ответов: 2  

Номер ответа: 1
Автор ответа:
 Hunter



Вопросов: 23
Ответов: 71
 Профиль | | #1 Добавлено: 11.07.09 09:50
Чтоб его! :) Как говорится - утро вечера мудренее ))))))))))))))))))
Решил сам - оказывается необходимо было добавить следующее:
req.AutomaticDecompression = DecompressionMethods.Deflate | DecompressionMethods.GZip;

p.s. microsoft любят людей мучать :) :D

Ответить

Номер ответа: 2
Автор ответа:
 катя



Вопросов: 0
Ответов: 32
 Профиль | | #2 Добавлено: 14.07.09 10:48
  1. HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
  2. Stream str = resp.GetResponseStream();
  3. Encoding encode = Encoding.GetEncoding("windows-1251");
  4. StreamReader sr = new StreamReader(str, encode);
  5. string tmp = sr.ReadToEnd();
  6. str.Close();

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам