0

Synapse lib を使用しており、http ポスト経由で文字列を PHP Api に送信したいと考えています。

これは、http ポスト経由で API に送信する最終的な json 文字列です。

{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"}

var sSendString: String;
sSendString := '{"os":"Windows7", "architecture":"64", "date":"20.06.2013", "version": "3.22", "name":"TestVM-PC"}';

パラメータを投稿するこのサンプル プロシージャを見つけましたが、1 つの JSON 文字列 (sSendString) を API に正しく送信する方法がわかりません。

procedure HTTPPost;
var URL: string;
    Params: string;
    Response: TMemoryStream;

begin
  Response := TMemoryStream.Create;

  try
    URL := 'http://testserver.com/api/add_customer';

    Params := 'parameter1=' + EncodeURLElement('data1') + '&' +
              'parameter2=' + EncodeURLElement('data2');

    if HttpPostURL(URL, Params, Response) then
      Response.SaveToFile('c:\response.txt');

  finally
    Response.Free;
  end;
end;

それで、誰かが私の問題を修正し、json文字列をAPIに送信するために変更する必要がある行を示すのを手伝ってもらえますか. 前もって感謝します

4

1 に答える 1

1

私も自分のプロジェクトでシナプスを使用しています。Synapse で作業をシンプルかつ高速にするために、THTTPSendEx クラスを作成しました。これにより、使用速度が速く、最小限のコードとより多くの機能が提供されます。現在はベータ版です。

インディのような景色です。

THTTPSendEx クラスを作成します。そのプロトタイプ (pas ファイルを参照) からメソッド OnBeginWork、OnWork、OnWorkEnd を作成し、作成したクラスに割り当てます。HTTP リクエストの進行状況を示すために必要なことはこれだけで、クラスの GET、POST 関数を呼び出すだけです。また、クラスには非常に単純な "INDY のような" GET メソッド、POST リクエストがあり、多くのさまざまな入力および出力データ型があります。それを試してみてください。

私のウェブサイトで見ることができます

これに関するアイデアがあれば、プロジェクト ページへのコメントとして書き込んでください。

英語の間違いをお詫びします。

于 2013-07-31T20:16:03.130 に答える