¿Cómo obtener contenido de página web remota con la solicitud Drupal HTTP?

drupal.stackexchange https://drupal.stackexchange.com/questions/12669

  •  16-10-2019
  •  | 
  •  

Pregunta

Me encantaría ver algunos ejemplos sobre la obtención de contenido de página web remota con la solicitud Drupal HTTP. Tengo muchos ejemplos fácilmente con Google con Curl, pero aún así encontrar uno con esta función Drupal.

Además, ¿sería mejor para obtener contenido remoto?

¿Fue útil?

Solución

Primero, puede leer la documentación sobre drupal_http_request () Está bastante bien documentado y te ayudará.

Pero para una aplicación simple, puede hacerlo así.

<?php
$result = drupal_http_request('http://google.com/');
if (in_array( $result->code, array(200, 304))) {
  // Use $result->data for the content
}
else {
  // Error $result->code
}

// Also you can see all content from $result with
// if you had installed Devel Module and enable it
// dsm($result)
// or simply like that drupal_set_message('<pre>' . print_r($result, 1) . '</pre>');

Otros consejos

También podrías intentar usar el Clima web Módulo (para D7). Aquí hay una cita al respecto (de la página del proyecto del módulo):

Este es un módulo de biblioteca. No proporciona funcionalidad fuera de la caja, otra vez que proporciona una API que otros módulos pueden usar.

La API webClient se separa en tres componentes principales:

  • Clima web
  • Formateros de client web
  • Proxy webclient

Todos los componentes anteriores se tradujeron a módulos separados para que los desarrolladores puedan crear una dependencia con la funcionalidad que necesitan.

Estoy usando este código sin ningún problema.

$base_url = 'http://route to Ws';
$data = array(
  'key' => 'foo';
  'mail' => $mail,
);

$data = drupal_json_encode($data);
$options = array(
'headers' => array(
  'Content-Type' => 'application/json',
),
'method' => 'POST',
'data' => $data
);
$response = drupal_http_request($base_url, $options);
$data = json_decode($response->data);
// Check if login was successful
if ($response->status == 'valid' {
return TRUE;
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a drupal.stackexchange
scroll top