Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - .NET

Страница: 1 |

 

  Вопрос: Мета-данные в "ответе" Добавлено: 15.10.08 23:03  

Автор вопроса:  Александр | Web-сайт: mobilles.ru
Здравствуйте! Возникла вот такая проблемка. Осуществляется запрос на некоторый сайт средствами HttpWebRequest и HttpWebResponse. Как можно в "ответе" загрузить только мета данные, а не грузить всю страницу? Делается для ускорения работы с сайтом. Спасибо.

Ответить

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

Номер ответа: 1
Автор ответа:
 Сергей



ICQ: 558230345 

Вопросов: 7
Ответов: 91
 Профиль | | #1 Добавлено: 16.10.08 09:45
а что понимается под метаданными сайта?

Ответить

Номер ответа: 2
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #2
Добавлено: 16.10.08 12:21
Имя сервера, куки, тип кодировки и т.д.

Ответить

Номер ответа: 3
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #3 Добавлено: 16.10.08 15:13
  1.  
  2.     class Program
  3.     {
  4.         static void Main(string[] args)
  5.         {
  6.             HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("http://vbnet.ru/");
  7.             request.Proxy = new WebProxy();
  8.             HttpWebResponse response = (HttpWebResponse)request.GetResponse();
  9.             ShowProperty("CharacterSet",response.CharacterSet);
  10.             ShowProperty("ContentEncoding", response.ContentEncoding);
  11.             ShowProperty("ContentLength", response.ContentLength.ToString());
  12.             ShowProperty("ContentType", response.ContentType);
  13.             
  14.             //show headers
  15.             foreach (string name in response.Headers)
  16.                 ShowProperty(name, response.Headers[name]);
  17.             
  18.             // show cookie
  19.             foreach (Cookie cookie in response.Cookies)
  20.                 ShowProperty(cookie.Name, cookie.Value);
  21.  
  22.             Console.ReadLine();
  23.         }
  24.  
  25.         static void ShowProperty(string name, string value)
  26.         {
  27.             Debug.WriteLine(string.Format("{0}:\t\t{1}", name, (string.IsNullOrEmpty(value)) ? "empty" : value));
  28.         }
  29.     }
  30.  




CharacterSet: windows-1251
ContentEncoding: empty
ContentLength: 28719
ContentType: text/html; charset=windows-1251
Connection: Keep-Alive
Proxy-Connection: Keep-Alive
Content-Length: 28719
Content-Type: text/html; charset=windows-1251
Date: Thu, 16 Oct 2008 11:11:33 GMT
Server: Microsoft-IIS/6.0
Via: 1.1 PROLIANT1
X-Powered-By: ASP.NET 2.0,ASP.NET
X-AspNet-Version: 2.0.50727
Set-Cookie: ASP.NET_SessionId=gczfn3vslywncvbit2foe045; path=/; HttpOnly
Cache-Control: private

Ответить

Номер ответа: 4
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #4
Добавлено: 16.10.08 20:10
Помоему здесь все равно будет грузиться вся страница. Хотя не могу утверждать, так как пишу не на C#.NET, а на VB.NET (имею ввиду синтаксис разный).

Ответить

Номер ответа: 5
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #5 Добавлено: 16.10.08 23:56
пишу не на C#.NET, а на VB.NET

Язык реализации значения не имеет.. А вот что касается вся страница или нет, тут не буду утвержать - надо проверять.. Но, имхо, чтоб загрузить саму страницу тебе надо открывать Stream и читать из него, а мы этого не делаем . Отсюда было бы логично предположить что мы страницу не загружаем..

Ответить

Номер ответа: 6
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #6
Добавлено: 17.10.08 07:45
Я все запросы смотрю через прокси-дебаггер - там страница грузится. Там ответ сервера по метаданным моментальный, а вот код страницы грузится некоторое время...Может есть все-таки какие-нить параметры запроса, которые позволяли бы грузить только мета-данные. Например что означают Begingetresponse и Endgetresponse?

Ответить

Номер ответа: 7
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #7 Добавлено: 17.10.08 07:55
Например что означают Begingetresponse и Endgetresponse?

Это фичи для ассинхронной загрузки.. это не то.

Ответить

Номер ответа: 8
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #8
Добавлено: 17.10.08 12:23
Значит сделать ничего нельзя? :-(

Ответить

Номер ответа: 9
Автор ответа:
 EROS



Вопросов: 58
Ответов: 4255
 Профиль | | #9 Добавлено: 17.10.08 13:02
боюсь, что нет... :(

Ответить

Номер ответа: 10
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #10 Добавлено: 18.10.08 03:16
да можно все.
Просто нужно делать не GET а HEAD запрос. Читайте спеки http что ли?

Ответить

Номер ответа: 11
Автор ответа:
 Александр



Вопросов: 15
Ответов: 39
 Web-сайт: mobilles.ru
 Профиль | | #11
Добавлено: 18.10.08 07:39
Steel Brand, спасибо огромное!

Ответить

Номер ответа: 12
Автор ответа:
  j3d1



ICQ: 8370005 

Вопросов: 34
Ответов: 466
 Профиль | | #12 Добавлено: 21.10.08 01:57
в конце дёргай метод .Close() страница не будет догружатся

Ответить

Номер ответа: 13
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #13 Добавлено: 28.10.08 01:24
j3d1 пишет:
в конце дёргай метод .Close() страница не будет догружатся

А если там гигабитный канал - за то время пока ты вызовешь этот Close метров 30 успеет скачаться уже

Ответить

Страница: 1 |

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



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