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

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

Get или Post запросы через сокеты или TWebBrowser [D5, Win95/98, WinXP]


WebSQLNeeder ©   (2005-10-17 17:38:00) 

Добрый день.

Где можно посмотреть (кроме встроенных примеров в Делфи) или почитать как получить через Делфи страницу html или отправить запрос на сайт (аналогично как это делает сам браузер).


DiamondShark   (2005-10-17 19:07:00) [1]

Минимальный рабочий пример:


procedure TForm1.Button1Click(Sender: TObject);
begin
 Memo1.Clear;
 ClientSocket1.Host := 'www.delphimaster.ru';
 ClientSocket1.Port := 80;
 ClientSocket1.Active := true;
end;

procedure TForm1.ClientSocket1Write(Sender: TObject;
 Socket: TCustomWinSocket);
const
 Request: PChar = 'GET /cgi-bin/forum.pl?n=3 HTTP/1.0'#13#10'Host: www.delphimaster.ru'#13#10#13#10;
begin
 Socket.SendBuf(Request^, StrLen(Request));
end;

procedure TForm1.ClientSocket1Read(Sender: TObject;
 Socket: TCustomWinSocket);
var
 Len: integer;
 Buf: packed array[byte] of char;
 S: string;
begin
 Len := Socket.ReceiveBuf(Buf, sizeof(Buf));
 while Len > 0 do
   begin
     SetString(S, Buf, Len);
     Memo1.Text := Memo1.Text + S;
     Len := Socket.ReceiveBuf(Buf, sizeof(Buf));
   end;
end;


Подробности реализации протокола HTTP
RFC 1945, Hypertext Transfer Protocol - HTTP/1.0.
RFC 2068, Hypertext Transfer Protocol - HTTP/1.1.


Наверх

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