我认为标题很清楚。 我想知道如何使用参数/参数发送HTTP POST请求并接收HTML响应 - 使用Delphi的Synapse库。
答案 0 :(得分:8)
尝试使用HttpPostURL功能。
function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;
URL
- 目标网址
URLData
- 网址参数;必须编码,例如使用EncodeURLElement功能
Data
- 目标流,将存储响应
以下示例使用testing POST server发送两个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;