Cómo publicar datos JSON con PHP Curl

Cómo publicar datos JSON con PHP Curl

Al trabajar con API, es común enviar y recibir datos en formato JSON. En PHP, puede usar la biblioteca CURL para enviar solicitudes HTTP, incluido el envío de datos JSON en una solicitud de publicación. En este artículo, le mostraremos cómo publicar datos JSON con PHP Curl en una guía paso a paso.

Paso 1: Establezca los datos de URL y JSON

El primer paso es establecer la URL a la que desea enviar la solicitud y los datos JSON que desea enviar en el cuerpo de solicitud. Para este ejemplo, usaremos una muestra de datos JSON:

$ data = array ('name' => 'John Doe', 'correo electrónico' => '[email protected] ',' Phone '=>' 1234567890 '); $ json = json_encode ($ data);
1234567$ data = array ('name' => 'John doe', 'correo electrónico' => '[correo electrónico protegido]', 'teléfono' => '1234567890'); $ json = json_encode ($ data);

En este ejemplo, hemos creado una variedad de datos y lo hemos codificado en un Json cadena usando el JSON_ENCODE () función.

Paso 2: configure las opciones de curl

El siguiente paso es establecer las opciones de curl para la solicitud, incluida la URL, el método de solicitud y el cuerpo de la solicitud. Aquí hay un ejemplo de cómo establecer las opciones de curl:

$ url = 'https: // ejemplo.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('content-type: application/json', 'content-longitud:' . strlen ($ json)));
12345678910$ url = 'https: // ejemplo.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httphader, shon ', 'Largancia de contenido: ' . strlen ($ json)));

En este ejemplo, hemos establecido las siguientes opciones:

  • Curlopt_returntransfer: Establecer en True para devolver la respuesta como una cadena en lugar de emitirla directamente a la pantalla.
  • Curlopt_customRequest: Establecer en "publicar" para especificar que estamos enviando una solicitud de publicación.
  • Curlopt_postfields: Establecer en los datos JSON que queremos enviar en el cuerpo de solicitud.
  • Curlopt_httpheader: Establecer en una variedad de encabezados, incluido el encabezado de tipo de contenido para especificar que estamos enviando datos JSON y el encabezado de longitud de contenido para especificar la longitud de los datos JSON.

Paso 3: Envíe la solicitud y maneje la respuesta

El paso final es enviar la solicitud usando el curl_exec () función y manejar la respuesta. Aquí hay un ejemplo de cómo hacer esto:

$ respuesta = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ respuesta; curl_close ($ ch);
1234567$ respuesta = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ respuesta; curl_close ($ ch);

En este ejemplo, hemos usado el curl_exec () función para enviar la solicitud y almacenar la respuesta en la variable de respuesta $. También hemos revisado cualquier error utilizando el curl_errno () función y mostró el mensaje de error si había un error. Finalmente, hemos cerrado el mango de rizo usando el curl_close () función.

Paso 4: Complete el script PHP

Después de combinar el código anterior, obtendrá un script PHP funcional completo que puede publicar datos JSON en API remotas.

'John Doe', 'correo electrónico' => '[email protected] ',' Phone '=>' 1234567890 '); $ json = json_encode ($ data); $ url = 'https: // ejemplo.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httpheader, array ('content-type: application/json', 'content-longitud:' . strlen ($ json))); $ respuesta = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ respuesta; curl_close ($ ch); ?>
1234567891011121314151617181920212223242526272829 'John Doe', 'Correo electrónico' => '[correo electrónico protegido]', 'teléfono' => '1234567890'); $ json = json_encode ($ data); $ url = 'https: // ejemplo.com/api/create '; $ ch = curl_init ($ url); curl_setopt ($ ch, curlopt_returntransfer, true); curl_setopt ($ ch, curlopt_customRequest, "post"); curl_setopt ($ ch, curlopt_postfields, $ json); curl_setopt ($ ch, curlopt_httphader, shon ', 'Largancia de contenido: ' . strlen ($ json))); $ respuesta = curl_exec ($ ch); if (curl_errno ($ ch)) echo 'error:' . curl_error ($ ch); else echo $ respuesta; curl_close ($ ch); ?>

Guarde el contenido del archivo y ejecute esto a través de la interfaz de línea de comandos PHP.

Conclusión

En este artículo, le hemos mostrado cómo publicar datos JSON con PHP Curl en una guía paso a paso. Al establecer los datos de URL y JSON, configurar las opciones de curl y enviar la solicitud y manejar la respuesta, puede enviar fácilmente los datos JSON en una solicitud posterior al PHP CURL.