Я никогда не вижу, как PUT/DELETE
запрос отправлен.
Как сделать это в PHP?
Я знаю, как отправить ПОЛУЧИТЬ/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'
)
))
);
Ознакомьтесь с этими двумя статьями о выполнении REST с PHP
Вообще говоря, если вы Хотите отправить какую-то «не получить» запрос, вы часто работаете с Curl .
, и вы будете использовать функцию Curl_Setopt
для настройки запроса, который вы отправляете; Среди большого количества возможных вариантов, чтобы изменить метод запроса, вы будете интересны, по крайней мере, те параметры (цитируя) :
Curlopt_Customrequest
: метод пользовательского запроса для использования вместо « Get
« или « голова
» при выполнении HTTP-запроса. Это полезно для выполнения " delete
или других, более неясных http-запросов. CURLOPT_HTTPGET
: TRUE
Для сброса метода HTTP-запроса на get
. CURLOPT_POST
: TRUE
, чтобы сделать регулярный http post
. CURLOPT_PUT
: true
на http Положите
файл. Файл на PUT
должен быть установлен Curlopt_infile
и Curlopt_infilesize
.
Конечно, Curl_SetOpt
не единственная функция, которую вы используете; См. Страница документации CURL_EXEC
на примере того, как отправить запрос с Curl.
(Да, этот пример довольно прост, и отправляет GOW
запрос - но вы должны быть в состоянии построить оттуда ;-))