PUT/DELETE
リクエストがどのように送信されるのかわかりません。
PHPでそれを行う方法は?
Curlを使用してGET/POSTリクエストを送信する方法を知っています。
$ch = curl_init();
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookieFile);
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookieFile);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_POST, 0);
curl_setopt($ch, CURLOPT_TIMEOUT, 4);
しかし、PUT
/DELETE
リクエストを行う方法は?
DELETE
の場合は、curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'DELETE');
を使用しますPUT
の場合はcurl_setopt($ch, CURLOPT_PUT, true);
を使用します
インストールされているcURLに依存しない別の方法は、file_get_contents
を カスタムHTTPストリームコンテキスト で使用することです。
$result = file_get_contents(
'http://example.com/submit.php',
false,
stream_context_create(array(
'http' => array(
'method' => 'DELETE'
)
))
);
PHPでREST)を実行する方法に関するこれらの2つの記事を確認してください
一般的に、「非GET」リクエストを送信する場合は、多くの場合、 curl を使用します。
そして、 curl_setopt
関数を使用して、送信するリクエストを構成します;多数の可能なオプションの中で、リクエスト方法を変更するには、少なくともそれらのオプション(quoting)に興味があるでしょう:
CURLOPT_CUSTOMREQUEST
:HTTPリクエストを実行するときに「GET
」または「HEAD
」の代わりに使用するカスタムリクエストメソッド。これは、「DELETE
」またはその他のよりあいまいなHTTPリクエストを実行する場合に役立ちます。CURLOPT_HTTPGET
:TRUE
は、HTTPリクエストメソッドをGET
にリセットします。CURLOPT_POST
:TRUE
通常のHTTPPOST
を実行します。CURLOPT_PUT
:TRUE
からHTTPPUT
ファイル。 PUT
へのファイルは、CURLOPT_INFILE
およびCURLOPT_INFILESIZE
で設定する必要があります。
もちろん、使用する関数はcurl_setopt
だけではありません。 curlを使用してリクエストを送信する方法の例については、 curl_exec
のドキュメントページを参照してください。
(はい、その例は非常に単純で、GET
リクエストを送信します-しかし、そこからビルドできるはずです;-))