我觉得标题够清楚了。 我想知道如何使用 Delphi 的 Synapse 库发送带有参数/自变量的 HTTP POST 请求并接收返回的 HTML 响应。
最佳答案
尝试使用HttpPostURL功能。
function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;
URL
- 目标 URL
URLData
- URL 参数;必须编码,例如使用 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;
关于http - 如何使用 Synapse (Delphi) 发送 HTTP 数据并获得响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6291381/