Delphi Отправка Get Запроса В Delphi

  • Автор темы Автор темы Sascha
  • Дата начала Дата начала

Sascha

Команда форума
Администратор
Ofline
Именно благодаря этому запросу мы можем получить исходный код страницы, можем обработать его и сохранить в файл. Благодаря Get запросу мы также можем скачать файл с сайта.А вот как получить код страницы и сохранить его в файл
Отправлять запрос мы будем на главную страницу любого сайта : http://test.ru/ , а делать это мы будем при помощи компонента idhttp. У данного компонента есть метод get, им то мы и воспользуемся.

Итак создайте новый проект и поместите на форму следующие компоненты: Button, Memo, IdHTTP. У меня получилось так:
2013-10-28_161805.webp
Вся логика программы будет описана в обработчике события OnClick кнопки.

1. Мы получаем код страницы и отображаем его в MEMO: Memo1.Text:=IdHTTP1.Get('[URL]http://test.ru/ '[/URL]);

2. Текс станицы сохраняем в корне диска C : Memo1.Lines.SaveToFile('C:\test.txt');


Ниже представлен исходник целиком:

Код:
unit Unit1;
interface
uses
 Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
 Dialogs, StdCtrls, OleCtrls, SHDocVw, IdBaseComponent, IdComponent,
 IdTCPConnection, IdTCPClient, IdHTTP;
type
  TForm1 = class(TForm)
    IdHTTP1: TIdHTTP;
    Memo1: TMemo;
    Label1: TLabel;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
 { Private declarations }
  public
 { Public declarations }
  end;
var
    Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
    Memo1.Text:=IdHTTP1.Get('http://test.ru/');
    Memo1.Lines.SaveToFile('C:\test.txt');
end;
end.
 
Добрый день, подскажите пожалуйста, давно еще отказался от indy в пользу sinapse так как инди была глючная, на сколько я помню что было "в потоке отправлял запрос, при этом не получал ответ, таймауты все устанавливал, но все равно они не выходили, поток при этом зависал, так как ждал ответа от сервера" как сейчас обстоят дела с indi в последних версиях delphi?
 
Добрый день, подскажите пожалуйста, давно еще отказался от indy в пользу sinapse так как инди была глючная, на сколько я помню что было "в потоке отправлял запрос, при этом не получал ответ, таймауты все устанавливал, но все равно они не выходили, поток при этом зависал, так как ждал ответа от сервера" как сейчас обстоят дела с indi в последних версиях delphi?
В какой среде делфи вы работаете, в новой версии я сейчас на XE 7 незамечал пока проблем
 
В какой среде делфи вы работаете, в новой версии я сейчас на XE 7 незамечал пока проблем
проблемы были на xe2 сейчас 10сиэтл, спасибо, я попробую, когда запросов мало у меня тоже проблем не было, а вот если парсить в несколько потоков периодически возникала эта проблема
 
проблемы были на xe2 сейчас 10сиэтл, спасибо, я попробую, когда запросов мало у меня тоже проблем не было, а вот если парсить в несколько потоков периодически возникала эта проблема
попробуйте поменять DLL библиотеку
 
Назад
Сверху Снизу