PHP を使用すると、HTTP リクエストを非常に簡単に作成できますが、正しく設定するのは面倒な場合があります。あなたの最善の策は、複雑さを管理するためにサードパーティのライブラリを使用することです。そのため、1000 個の curl オプションを設定したり、ストリーム インターフェイスが 200 以外の HTTP コードを処理するのがいかに貧弱であるかに対処したりする必要はありません。
PEAR の HTTP_Request2は良い出発点です。BSD ライセンスの下で利用できます。つまり、ライセンスの問題なしに独自の独自コードにバンドルできます。これは、あなたのために働くはずの非常に基本的な例です。まず、実際のリクエストに関する情報を収集しましょう。
$endpoint_url = 'https://www.plimus.com/jsp/validateKey.jsp';
$params = array(
'action' => 'REGISTER',
'productId' = '582710',
'key' => 'XXX-XXXX-XXXX-XXXX'
);
がある場合はuniqueMachineId
、それを配列に追加することもできます。
次に、リクエスト オブジェクトを作成します。
$request = new HTTP_Request2($endpoint_url);
$request->setMethod(HTTP_Request2::GET);
$request->getUrl()->setQueryVariables($params);
GET の代わりに POST を作成する必要がある場合は、ドキュメントの「リクエスト ボディ」セクションを参照してください。リクエストの設定ができたので、実際に実行してみましょう。
$response = $request->send();
$http_code = $request->getStatus();
$body_of_document = $response->getBody();
多田。結果の HTTP 応答コードまたはドキュメントの本文に基づいて、必要なことは何でも行います。
$params
必要に応じて配列を変更するだけで、他のリクエストに対してもこのプロセスを繰り返すことができ$endpoint_url
ます。
おそらく、アダプターのオプションに関するこのマニュアルのセクションも読む必要があります。デフォルトの構成で問題なく動作する可能性が非常に高いですが、ソケット アダプターの代わりに curl アダプターを要求する必要がある場合があります。
前述したように、これは唯一の選択肢ではありません。私はZend_Http_Clientのファンです。これも BSD ライセンスで入手できます。あなたがマゾヒスティックだと感じているなら、curl エクステンションを直接使うこともできますし、もしあなたが完全にバットグアノの正気でないなら、世界で一番好きなものであるストリームを使うことができます!
しかし、真剣に言えば、HTTP_Request2 がその仕事をしてくれるはずです。