Могу ли я отправить запрос в PUT и DELETE в Delphi 7? - PullRequest
3 голосов
/ 11 декабря 2008

Мне нужно отправить PUT и DELETE вместе с POST, GET в API REST, как я могу это сделать?

Ответы [ 3 ]

9 голосов
/ 11 декабря 2008

Delphi 7 поставляется с Indy . См. компонент TIdHTTP и, в частности, методы Get и Put.

4 голосов
/ 11 декабря 2008

Или посмотрите на библиотеку Synapse с открытым исходным кодом. В модуле HTTPSend есть несколько простых вызовов функций, которые делают реализацию этого абсолютно безболезненной. Просто используйте примеры функций / процедур в качестве модели для PUT / DELETE. Существующие подпрограммы уже предоставляют POST и GET. Разница заключается в методе пройдено.

Лично я обнаружил, что эта библиотека идеально подходит для работы с REST. Это просто, хорошо написано и легко расширяется.

Например, вот простой пут, который отправляет и получает поток:

function HttpPutBinary(const URL: string; const Data: TStream): Boolean;
var
  HTTP: THTTPSend;
begin
  HTTP := THTTPSend.Create;
  try
    HTTP.Document.CopyFrom(Data, 0);
    HTTP.MimeType := 'Application/octet-stream';
    Result := HTTP.HTTPMethod('PUT', URL);  // changed method from 'POST'
    Data.Size := 0;
    if Result then
    begin
      Data.Seek(0, soFromBeginning);
      Data.CopyFrom(HTTP.Document, 0);
    end;
  finally
    HTTP.Free;
  end;
end;
1 голос
/ 11 декабря 2008

Проверьте компоненты ICS , они подходят для работы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...