Показать сообщение отдельно

  #4  
Старый 05.05.2010, 16:45
Chrome~
Постоянный
Регистрация: 13.12.2008
Сообщений: 354
Провел на форуме:
1747641

Репутация: 175
Отправить сообщение для Chrome~ с помощью ICQ
По умолчанию

Цитата:
Сообщение от RedFern.89  
Еще 1 вопрос. Почему не доконца прогружает страницы? вот код процедуры запроса.

Код:
// ---- Отправка GET-запроса ----
function TidVKClient.Get(const AURL: string): string;
var
  Request  : string;
  tmp      : string;
  Cookies  : string;
begin
 tmp := AURL; // Присваиваем
 Cookies := FCookieList.Text;
 Cookies := StringReplace(Cookies, #13#10, ' ', [rfReplaceAll]);

// Парсим URL
 If Pos('www', tmp) <> 0 Then
 begin
  tmp := Copy(tmp, Length('http://' + GetHost(tmp)) +5, Length(tmp));
 end else
 begin
  tmp := Copy(tmp, Length('http://' + GetHost(tmp)) +1, Length(tmp));
 end;

 ShowMessage(tmp);

// Формируем запрос
If Length(FCookieList.Text) = 0 Then // Если нет куков, то невключаем в заголовок "Cookie:"
begin
 Request := 'GET ' + tmp + ' HTTP/1.1' + #13#10 +
            Headers +
            'Host: ' + GetHost(AURL) + #13#10#13#10;
end
 else // Аесли есть, то включаем в заголовк "Cookie: ..."
begin
 Request := 'GET ' + tmp + ' HTTP/1.1' + #13#10 +
            Headers +
            'Host: ' + GetHost(AURL) + #13#10 +
            'Cookie: ' + Cookies + #13#10#13#10;
end;

// Отсылаем запрос
 result := SendRequest(aurl, Request);

// Ищем куки в ответе
 GetCookie(result);
end;
а от сервера приходит нечто такое:

Код:
HTTP/1.1 200 OK
Server: nginx/0.7.59
Date: Wed, 05 May 2010 11:52:54 GMT
Content-Type: text/html; charset=windows-1251
Transfer-Encoding: chunked
Connection: keep-alive
X-Powered-By: PHP/5.2.6-1+lenny4
Pragma: no-cache
Cache-control: no-store
Vary: Accept-Encoding

8e06
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" id="vkontakte">
<head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<title>В Контакте | Личные сообщения</title>
<link rel="stylesheet" href="/css/rustyle.css?64" type="text/css" />
<script src="/js/common.js?118"></script>
<script type="text/javascript" src="/js/mail.js?23"></script>
<link rel="stylesheet" href="/css/mail2.css?8" type="text/css" />
<link rel="stylesheet" href="/css/dialog2.css" type="text/css" />
<link rel="stylesheet" href="/css/pages.css" type="text/css" />
<script type="text/javascript" src="/js/lang0_0-1000.js?753"></script>
<link rel="stylesheet" href="/css/ui_controls.css?13" type="text/css" />
<script type="text/javascript" src="/js/lib/ui_controls.js?36"></script>


<link rel="shortcut icon" href="/images/favicon.ico" />
<!--[if lte IE 6]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(/css/ie.css?10); /* ]]> */</style><![endif]-->
<!--[if IE 7]><style type="text/css" media="screen">/* <![CDATA[ */ @import url(/css/ie7.css?10); /* ]]> */</style><![end

Коды отправляемых заголовков:
Код:
(* Основные заголовки *)   
const
  Headers =
      'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3'  + #13#10 +
      'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8' + #13#10 +
      'Accept-Language: ru,en-us;q=0.7,en;q=0.3'        + #13#10 +
      'Connection: Keep-Alive'                          + #13#10 +
      'Referer: http://vkontakte.ru/index.php'          + #13#10 +
      'Content-Type: application/x-www-form-urlencoded' + #13#10;
код процедуры SendRequest в первом посте.
Ну во первых не нужно использовать для GET запросов этого поля:
Код:
Content-Type: application/x-www-form-urlencoded
Также, в твоем случае, нужно строчку
Код:
Connection: Keep-Alive
заменить на
Код:
Connection: close