Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Скачивание html страницы. [D7, XP]


7inars ©   (2008-03-26 04:29:00) 

Здравствуйте, помогите найти, где накосячил )
procedure GetHTMLfile;
var
 headers, body, request :string;
 s                      :string;

begin
request := 'GET '+somepage+'.ru HTTP/1.1' + CRLF +
          'User-Agent: Opera 9.26 (Windows NT 5.1; U; en)'  + CRLF +
          'Host: nic.ru' + CRLF +
          'Connection: close' + CRLF;
with Sockets.TTcpClient.Create(nil) do begin
 try
   RemoteHost := somedomain;
   RemotePort := '80';
  Connect();
if Connected then
begin
  SendLn(request);
  headers := ReceiveLn(CRLF + CRLF);
  body := ReceiveLn(CRLF + CRLF);
  Disconnect();

  Form1.Memo1.Text := body;
end;
if Pos(refer, Form1.Memo1.Text) > 1 then
begin
 Form1.Memo1.Lines.SaveToFile('db\'+inttostr(i)+'.ru');
end;

Form1.Memo1.Clear;

 finally
  Free;
 end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Application.ProcessMessages;
GetHTMLfile;
end;


Собственно что нужно: при нажатии на кнопку, идёт запрос на "somedomain", скачивается "somepage" страничка.
Далее проверка, если в скаченной странице, есть строка "refer", стриница сохраняется в фаил.
Собственно всё) Спасибо.


TMemo   (2008-03-26 09:39:00) [1]

Неправильный запрос, должно быть так:

request := 'GET '+ '/'+' HTTP/1.1' + CRLF +
         'User-Agent: Opera 9.26 (Windows NT 5.1; U; en)'  + CRLF +
         'Host: nic.ru' + CRLF +
         'Connection: close' + CRLF + CRLF;

//-----------------------------------

try
  RemoteHost := 'nic.ru';


Наверх

Титульная страница Поиск, карта сайта Написать письмо