【发布时间】:2014-08-04 10:35:00
【问题描述】:
我成功地使用Goutte Laravel 4 访问了远程 JSON 资源:
$client = Goutte::getNewClient();
//*
$crawler = $client->request('GET', 'http://domain.mg/admin');
$form = $crawler->selectButton('Login')->form();
$crawler = $client->submit($form, array('username' => 'username', 'password' => 'password'));
//*/
$crawler = $client->request('GET', 'http://domain.mg/usergroup/list'); // Yields JSON Response
return dd($crawler);
它会产生如下输出:
对象(Symfony\Component\DomCrawler\Crawler)#285 (4) { ["uri":protected]=> 字符串(36) "http://domain.mg/usergroup/list" ["defaultNamespacePrefix":"Symfony\Component\DomCrawler\Crawler":private]=> 字符串(7)“默认” ["命名空间":"Symfony\Component\DomCrawler\Crawler":private]=> 数组(0){}[“存储”:“SplObjectStorage”:私有]=>数组(1){ ["0000000075faaa10000000001af55ef8"]=> 数组(2) { ["obj"]=> object(DOMElement)#241 (17) { ["tagName"]=> string(4) "html" ["schemaTypeInfo"]=> NULL ["nodeName"]=> 字符串(4) "html" ["nodeValue"]=> 字符串(438) "[{"id":1,"group_name":"Compte principal","group_desc":"Administrateur","group_level":9},{"id":2,"group_name":"Profil 倒莱斯 comptables","group_desc":"Comptables","group_level":2},{"id":3,"group_name":"Validateur d'op\u00e9ration","group_desc":"主管","group_level":9},{"id":18,"group_name":"否 评论","group_desc":"Autres 雇用\u00e9s","group_level":6},{"id":41,"group_name":"邀请\u00e9","group_desc":"Guest","group_level":2}]" ["nodeType"]=> int(1) ["parentNode"]=> string(22) "(对象值 省略)" ["childNodes"]=> string(22) "(省略对象值)" ["firstChild"]=> string(22) "(省略对象值)" ["lastChild"]=> string(22) "(省略对象值)" ["previousSibling"]=> string(22) "(省略对象值)" ["属性"]=> string(22) "(对象值 省略)" ["ownerDocument"]=> string(22) "(省略对象值)" ["namespaceURI"]=> NULL ["prefix"]=> string(0) "" ["localName"]=> 字符串(4) "html" ["baseURI"]=> NULL ["textContent"]=> 字符串(438) "[{"id":1,"group_name":"完成 principal","group_desc":"Administrateur","group_level":9},{"id":2,"group_name":"Profil 倒莱斯 comptables","group_desc":"Comptables","group_level":2},{"id":3,"group_name":"Validateur d'op\u00e9ration","group_desc":"主管","group_level":9},{"id":18,"group_name":"否 评论","group_desc":"Autres 雇用\u00e9s","group_level":6},{"id":41,"group_name":"邀请\u00e9","group_desc":"Guest","group_level":2}]" } ["inf"]=> NULL } } }
我偶然发现在$crawler 对象中提取/转换 JSON 的内部表示。怎么可能呢?
【问题讨论】:
-
您到底想对 JSON 输出做什么?
-
我想将远程数据(静态)泵入本地镜像数据库。