5

タイトルは分かりやすかったと思います。Delphi の Synapse ライブラリを使用して、パラメーター/引数を指定して HTTP POST 要求を送信し、HTML 応答を受信する方法を知りたいです。

4

1 に答える 1

8

HttpPostURL関数を使用してみてください。

function HttpPostURL(const URL, URLData: string; const Data: TStream): Boolean;

URL- ターゲット URL
URLData- URL パラメータ; たとえば、 EncodeURLElement関数を使用してエンコードする必要があります
Data- 応答が格納されるターゲット ストリーム

次の例では、2 つの 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;
于 2011-06-09T10:35:55.533 に答える