我正在开发一个Drupal 8自定义模块。我在任何节点类型中都有两个字段(url和text html字段)。这是模块预期的功能:
该模块将刮取“url字段”的页面并复制html代码以将其粘贴到“text html字段”中(此字段隐藏在管理页面中)。在每个cron运行中,这个字段内容都将被粉碎。
我使用Drupal::httpClient
(或Guzzle)发出我的http请求。
$client = \Drupal::httpClient();
$request = $client->get('https://github.com/codeafrica/github-africa');
$response = $request->getBody();
这是我的第一个Drupal 8开发模块。要开发此模块,我是否需要创建自定义Http客户端来创建自己的Http客户端?在我的模块库中,我必须实现复制和粘贴html代码的功能。控制器可以这样做吗?
这是我的自定义模块的结构:
custom_module.info.yml
custom_module.module
custom_module.routing.yml
src/Controller
src/Http
我需要指导才能开始。 谢谢你的帮助。
答案 0 :(得分:0)
当我在处理类似的事情时,我遇到了这个问题,所以我分享了我能够让这个工作的两种方式。
我不确定他们中的任何一个是否是最佳方式:)
在我的custom_module.module
:
方法1
$client = new \GuzzleHttp\Client();
$url = 'yourURL';
$res = $client->request('GET', $url);
$res_body = $res->getBody();
或方法2
use Guzzle\Http\Client;
$client = new Client('yourURL');