Как получить удаленный контент веб -страницы с помощью http -запроса Drupal?

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

  •  16-10-2019
  •  | 
  •  

Вопрос

Хотелось бы увидеть несколько примеров по получению удаленного контента веб -страницы с помощью Drupal HTTP -запроса. У меня легко есть много примеров с Google с Curl, но все же, чтобы найти его с этой функцией Drupal.

Кроме того, будет ли Curl лучше для получения удаленного контента?

Это было полезно?

Решение

Во -первых, вы можете прочитать документацию о drupal_http_request () Это довольно хорошо задокументировано, и это поможет вам.

Но для простого приложения вы можете просто сделать это так.

<?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>');

Другие советы

Вы также можете попробовать использовать WebClient модуль (для D7). Вот цитата об этом (со страницы проекта модуля):

Это библиотечный модуль. Он не предоставляет функциональности коробки, кроме предоставления API, который могут использовать другие модули.

API WebClient разделится на три основных компонента:

  • WebClient
  • Форматер WebClient
  • WebClient Proxy

Все вышеперечисленные компоненты были переведены в отдельные модули, чтобы разработчики могли создавать зависимость от необходимой им функциональности.

Я использую этот код без проблем.

$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;
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с drupal.stackexchange
scroll top