1. Molen03.07.2024 в 01:34от
Загрузка...

[Delphi] Функции GET и POST запросов

Тема в разделе "С/С++/Pascal/Delphi", создана пользователем Qwin(C), 14.12.2013.

Метки:
  1. Qwin(C)

    Qwin(C)

    Статус:
    Оффлайн
    Регистрация:
    08.10.11
    Сообщения:
    98
    Репутация:
    8 +/-
    В некоторых программах нужно несколько раз подряд отсылать запросы,
    и писать каждый раз запрос по новой утомительно, да и занимает код много места.

    Вот решил выложить для начинающих кодеров функцию упрощающую эту задачу.

    И так первой рассмотрим GET функцию:
    Код:
    function GETSynapse(Link:String):String;
    var
       HTTP: THTTPSend;
       Response: TStringList;
    begin
       HTTP:= THTTPSend.Create;
       Response:= TStringList.Create;
       HTTP.HTTPMethod('GET', Link);
       Response.LoadFromStream(HTTP.Document);
       Result:=Response.Text;
    end;
    Применение GET функции:
    GETSynapse('ссылка');
    Пример:
    Код:
    Memo1.Lines.Add(GETSynapse('http://site.ru/'));
    Теперь рассмотрим POST функцию на примере авторизации на Hostinger (не реклама):
    Код:
    function POSTSynapse(Link, SData: string):String;
    var
       HTTP:THTTPSend;
       Response:TStringList;
       Data:TStringStream;
    begin
       HTTP:=THTTPSend.Create;
       Response:=TStringList.Create;
       Data:=TStringStream.Create;
       Data.WriteString(SData);
       HTTP.Document.LoadFromStream(Data);
       Data.Free;
       HTTP.MimeType:='application/x-www-form-urlencoded';
       HTTP.HTTPMethod('POST', Link);
       Response.LoadFromStream(HTTP.Document);
       Result:=Response.Text;
    end;
    Применение POST функции:
    POSTSynapse('ссылка','пост данные');
    Пример:
    Код:
    Memo1.Lines.Add(POSTSynapse('http://cpanel.hostinger.ru/auth','email=login@damain.ru&password=password'));

    Ну вот и всё) Надеюсь чем-то помог)
     
    Последнее редактирование: 14.12.2013
  2. VD3K

    VD3K

    Статус:
    Оффлайн
    Регистрация:
    07.02.13
    Сообщения:
    468
    Репутация:
    161 +/-
    А теперь научи устанавливать synapse на free pascal и как в нем делать get и post?:D
     
  3. Qwin(C)

    Qwin(C)

    Статус:
    Оффлайн
    Регистрация:
    08.10.11
    Сообщения:
    98
    Репутация:
    8 +/-
    :good: Шутник от Бога!
     
  4. leshiy)))

    leshiy)))

    Статус:
    Оффлайн
    Регистрация:
    26.05.12
    Сообщения:
    812
    Репутация:
    294 +/-
    я где-то читал, что синапс можно поставить т.к. это библиотека, а не визуальный компонент.
    а где читал - не помню.
     
  5. striker

    striker

    Статус:
    Оффлайн
    Регистрация:
    16.07.13
    Сообщения:
    565
    Репутация:
    149 +/-
    ну вот не умею я пост запросы составлять, ну че поделать?
     
  6. Indie

    Тру кодер
    Indie

    Статус:
    Оффлайн
    Регистрация:
    18.12.12
    Сообщения:
    901
    Репутация:
    192 +/-
    Ну не на Free Pascal!
     
  7. Revko

    Revko

    Статус:
    Оффлайн
    Регистрация:
    07.10.12
    Сообщения:
    933
    Репутация:
    356 +/-
    как капчу обходить?)