Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Сети
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi запись в файл на FTP с помощью дельфи http://www.cyberforum.ru/delphi-networks/thread113131.html
доброго всем времени суток,у меня вопрос,возникла необходимость написать простейшую програму на дельфи(у меня компилятор борланд дельфи 7) не занимался этим уже 2 года вообще,да и до этого знал плохо...
Delphi Не правильный POST запрос
Привет, посылаю multipart/form-data методом, данные datas:= header+#13#10+'Content-Disposition: form-data; name="oframebust"'+#13#10#13#10#13#10+ header+#13#10+'Content-Disposition: form-data;...
Цикл в приложении Delphi
Необходимо создать службу, которая будет отправлять данные серверу каждые N минут в качестве обмена пакетами, использую Indy по UDP вопрос, как сделать отправку пакетов каждые N минут ? для...
Delphi Клиент-Сервер Народ целый вечер мучаюсь!!! Как реализовать такую вещь, есть к примеру клиент и сервер, сервер должен запустится не заметно на компе, клиент должен отправить текстовое сообщение и оно должно... http://www.cyberforum.ru/delphi-networks/thread112148.html
Delphi TServerSocket & TClientSocket http://www.cyberforum.ru/delphi-networks/thread111867.html
Несколько вопросов от новичка по поводу этих компонентов =) 1. дайте плиз пример отправки байтов с помощью SendBuf, и считывания их.. например отправка сервером 4 байтов, и считывания их клиентом...
Delphi Нужна консультация в написание простенького Склиент/Сервера на отправку сообщений
Денег нет (Но буду очень благодарен за помощь. Клиент Вобщем имеем в наличие Форму Form1 TcpClient1 TcpServer1 Настраиваем порт и айпишник Поля ввода для сообщения
Отправка сообщение на моб тел Delphi
Здравствуйте всем, Очень прошу помочь с одним задачей.... Я отправляю смс сообщение на мобильный телефон. -----У меня имеется компоненты: Memo1,DbGrid,WebBrowser,edit и button....
Delphi Подсобите пожалуйста с капчей Доброго времени суток. С пост запросом разобрался полностью, а вот капчу победить никак не могу :( Пытаюсь програмно зарегистрироваться на DLE сайте. Подскажите как поместить капчу в TImage. http://www.cyberforum.ru/delphi-networks/thread111180.html
Delphi IdUDPClient http://www.cyberforum.ru/delphi-networks/thread111077.html
Доброго времени суток! возник вопрос, возможно ли через IdUDPClient данный компонент отправить например MessageDlg с нужным мне сообщением? если такого невозможно, то как можно отправить какое...
Delphi Программа для автоматической авторизации на ВКонтакте Хотелось бы написать программу для автоматической авторизации на вконтакте и что-бы на форму можно было бы вывести количество непрочитанных сообщений, групп, друзей и т.д. С интернетом вообще никогда... http://www.cyberforum.ru/delphi-networks/thread110763.html
ZZnOB
11 / 11 / 4
Регистрация: 22.07.2009
Сообщений: 28
08.04.2010, 15:26 0

Как отправить HTTP запрос

08.04.2010, 15:26. Просмотров 29531. Ответов 12
Метки (Все метки)

Лучший ответ Сообщение было отмечено как решение

Решение

Непосредственно перед отправкой запроса следует настроить свойства вышеупомянутого IdHTTP.Request-а, если есть необходимость. Например, UserAgent в idHTTP по умолчанию Mozilla/3.0 (compatible; Indy Library), и, чтобы не палиться, следует его заменить на что-нибудь более безобидное А если вы создаете экземпляры компонента idHTTP динамически для парсинга страниц какого-нибудь большого сайта, то юзерагента можно вообще брать рандомом из заранее подготовленного списка.

Пример использования процедуры idHTTP.Get без дополнительных настроек:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
var
  mStream: TMemoryStream;
 
mStream := TMemoryStream.Create;
try
  idHttp := TIdHTTP.Create(nil);
  { тут следует "настроить" параметры idHTTP }
  { ... }
  try
    idHttp.Get(URL, mStream);
  finally
    idHttp.Free;
  end;
finally
  mStream.Free;
end;
Или с помощью функции получить содержимое страницы в строковую переменную:
Delphi
1
Str := idHttp.Get(URL);
С POST-запросом дела обстоят аналогично, с одним отличием: при отправке POST-запроса передаются еще и параметры. Думаю, что более подробно рассмотрю POST-запрос в следующем посте, с примером авторизации на сайте (чтобы не пихать слишком много информации в одну запись).

Какие еще аспекты работы с idHTTP следует отметить?
После посылки запроса проверить ответ сервера можно, посмотрев содержимое свойства
Delphi
1
idHTTP.Response.ResponseText
Добавлено через 1 минуту
Итак, вызов метода Post компонента idHTTP отличается от вызова Get-а только тем, что помимо URL-а необходимо передать параметры. Параметры можно передавать в виде StringList-а, или каких-нибудь Stream-ов, или чего-нибудь еще подходящего.)

Пример Post-процедуры (параметры передаются в виде StringList-а):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
procedure TForm1.Button1Click(Sender: TObject);
var
  LoginInfo: TStringList;
  Response: TStringStream;
begin
  try
    LoginInfo := TStringList.Create;
    Response := TStringStream.Create('');
    LoginInfo.Add('username=MyName');
    LoginInfo.Add('password=MyPass');
    IdHTTP1.Post('http://mywebsite.xxx/login.php',LoginInfo,Response);
    Showmessage(Response.DataString);
  finally
    begin
      Response.Free;
      LoginInfo.Free;
    end;
  end;
end;
Пример Post-функции (параметры передаются в виде IdMultiPartFormDataStream-а):
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
uses IdMultipartFormData;
{ .... }
 
procedure TForm1.Button1Click(Sender: TObject);
var
  data: TIdMultiPartFormDataStream;
begin
  data := TIdMultiPartFormDataStream.Create;
  try
    // добавляем нужные параметры
    data.AddFormField('param1', 'value1');
    data.AddFormField('param2', 'value2');
    // для примера выводим в мемо все, что вернулось
    Memo1.Lines.Text := IdHTTP1.Post('http://localhost/script.php', data);
  finally
    data.Free;
  end;
end;


Вернуться к обсуждению:
Как отправить HTTP запрос
9
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.04.2010, 15:26
Готовые ответы и решения:

Как отправить GET запрос ананимно?
Как отправить просто GET запрос понятно. пользуемся idHTTP и радуемся, но если надо отправить...

Как отправить Post запрос
Всем привет не могу понять как такой формат запроса отсылать большое спасибо за помощью.

как отправить запрос на сервер
Что необходимо сделать на форме, что бы по нажатию на Button1 отправить на сервер запрос вида ...

Как отправить POST-запрос через функцию?
Здравствуйте,подскажите как можно отправить POST запрос через функцию. Пробовал так,но не...

Как отправить пост-запрос с символами типа '[{|\/% ?
Как отправить пост запрос с символами типа...

12
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru