编辑:我为 Buzz 浏览器制作了一个GremoBuzzBundle 。它类似于SensioBuzzBundle,但它有一些不错的配置选项。
我建议使用Buzz 浏览器和依赖注入。Buzz 是 cURL 或 file_get_contents 的包装器。编辑您的deps
文件,添加以下行:
[Buzz]
git=https://github.com/kriswallsmith/Buzz.git
target=/buzz
然后安装供应商以实际下载库:
php bin/vendors install
然后添加两个服务(src/YourCompany/YourBundle/Resources/config/services.yml
):
# cURL client for Buzz
buzz.client.curl:
class: Buzz\Client\Curl
public: false
calls:
- [setVerifyPeer, [false]]
# Buzz browser
buzz.browser:
class: Buzz\Browser
arguments: ['@buzz.client.curl']
第一个服务是客户端(我更喜欢 cURL 而不是 file_get_contents),后者是浏览器本身。最后一步是在自动加载器( )中添加一行代码app/autoload.php
:
$loader->registerNamespaces(array(
'Buzz' => __DIR__.'/../vendor/buzz/lib',
));
然后您可以在控制器代码中获取服务并使用浏览器:
$browser = $this->get('buzz.browser');
$response = $browser->get('http://www.google.com');