una solicitud peticion hacer example ejemplos con como php curl patch

peticion - ¿Cómo hago una solicitud PATCH en PHP usando cURL?



curl put php (3)

Intenta usar una matriz normal

// $ data = "{''field_name'': ''field_value''}";

$ data = array (''field_name'' => ''field_value'');

Tengo que hacer una solicitud de PATCH usando PhP cURL. No pude encontrar ninguna documentación, así que intenté lo siguiente, pero no está funcionando.

$data = "{''field_name'': ''field_value''}"; $url = "http://webservice.url"; $headers = array(''X-HTTP-Method-Override: PATCH''); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($curl); curl_close($curl);

¿Alguna idea de por qué esto no está funcionando? ¿Cómo puedo arreglarlo?

Editar: me estoy conectando a un servicio web RESTful. Devuelve HTTP / 1.1 200 para solicitudes exitosas. Las solicitudes no exitosas devuelven HTTP / 1.1 403. Sigo recibiendo 403.

Traté de cambiar $ datos a:

$data = "data={''field_name'': ''field_value''}";

No cambió el resultado.

Edit2: El código de trabajo final.

$data = "{''field_name'': ''field_value''}"; $url = "http://webservice.url"; $headers = array(''Content-Type: application/json''); $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, ''PATCH''); curl_setopt($curl, CURLOPT_POSTFIELDS, $data); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($curl); curl_close($curl);



curl_setopt($curl, CURLOPT_CUSTOMREQUEST, ''PATCH''); Deberías hacerlo.