Я думаю, заголовок был достаточно ясен. Я хочу знать, как отправить запрос HTTP POST с параметрами/аргументами и получить ответ HTML - с помощью библиотеки Synapse для Delphi.
Как отправить данные HTTP и получить ответ с помощью Synapse (Delphi)
Ответы (1)
Попробуйте использовать функцию HttpPostURL.
function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;
URL
- целевой URLURLData
- параметры URL; должен быть закодирован, например. используя функцию EncodeURLElementData
- целевой поток, в котором будет храниться
В следующем примере используется тестовый POST-сервер, куда отправляются два параметра POST. Обратите внимание на использование функции EncodeURLElement для кодирования данных параметров. Если POST прошел успешно, ответ сервера сохраняется в файле.
uses HTTPSend, Synacode;
procedure TForm1.Button1Click(Sender: TObject);
var URL: string;
Params: string;
Response: TMemoryStream;
begin
Response := TMemoryStream.Create;
try
URL := 'http://posttestserver.com/post.php?dump&html';
Params := 'parameter1=' + EncodeURLElement('data1') + '&' +
'parameter2=' + EncodeURLElement('data2');
if HttpPostURL(URL, Params, Response) then
Response.SaveToFile('c:\response.txt');
finally
Response.Free;
end;
end;
person
Community
schedule
09.06.2011