• Что бы вступить в ряды "Принятый кодер" Вам нужно:
    Написать 10 полезных сообщений или тем и Получить 10 симпатий.
    Для того кто не хочет терять время,может пожертвовать средства для поддержки сервеса, и вступить в ряды VIP на месяц, дополнительная информация в лс.

  • Пользаватели которые будут спамить, уходят в бан без предупреждения. Спам сообщения определяется администрацией и модератором.

  • Гость, Что бы Вы хотели увидеть на нашем Форуме? Изложить свои идеи и пожелания по улучшению форума Вы можете поделиться с нами здесь. ----> Перейдите сюда
  • Все пользователи не прошедшие проверку электронной почты будут заблокированы. Все вопросы с разблокировкой обращайтесь по адресу электронной почте : info@guardianelinks.com . Не пришло сообщение о проверке или о сбросе также сообщите нам.

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

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

Sascha

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

Итак создайте новый проект и поместите на форму следующие компоненты: Button, Memo, IdHTTP. У меня получилось так:
2013-10-28_161805.png
Вся логика программы будет описана в обработчике события 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 библиотеку
 
Вверх Снизу