Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP痛风。选择不带";“价值”;领域_Php_Html_Goutte - Fatal编程技术网

PHP痛风。选择不带";“价值”;领域

PHP痛风。选择不带";“价值”;领域,php,html,goutte,Php,Html,Goutte,这是我的目标网站:我想在那里进行搜索,比如说字符串“Symphony”来检查它的漏洞 检查输入表单的元素,我看到它的名称是“q”,到目前为止还不错,但是按钮没有值,相反,我需要提交查询的按钮是:,没有值字段 我的代码: $client = new Client(); $crawler = $client->request('GET', 'http://www.rapid7.com/db/'); $form = $crawler->selectButton('????')->f

这是我的目标网站:我想在那里进行搜索,比如说字符串“Symphony”来检查它的漏洞

检查输入表单的元素,我看到它的名称是“q”,到目前为止还不错,但是按钮没有值,相反,我需要提交查询的按钮是:
,没有值字段

我的代码:

$client = new Client();

$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->selectButton('????')->form();
$crawler = $client->submit($form, array('q' => 'Symphony'));
print $crawler->html();

有人知道如何执行此操作吗?

据我所知,您的问题是获取表单元素,为什么需要按钮来执行此操作?您可以按id查询表单,id为
。您可能还需要提交
t
参数,该参数是您要查询的数据库类型(
a
针对所有
m
针对模块
v
针对漏洞)。您的代码应该是这样的(您需要安装CssSelector组件):


嘿,非常感谢您的回答,但我得到了以下错误:
PHP可捕获致命错误:传递给Symfony\Component\BrowserKit\Client::submit()的参数1必须是Symfony\Component\domclawler\Form的实例,给定Symfony\Component\domclawler\Crawler的实例,在第20行的/root/PHP/testrapid72.PHP中调用,并在中定义phar:///root/PHP/goutte.phar/vendor/symfony/browser-kit/Symfony/Component/Browse‌​第267行的rKit/Client.php
我从未见过这种选择表单的方式,它有道理,但对我来说不起作用,你自己试过吗?非常感谢,我是这样做的:
$Client=new Client()$爬虫程序=$client->request('GET','http://www.rapid7.com/db/');             $form=$crawler->filterXPath('//div[@class=“searchContainer”]/form')->form()$crawler=$client->submit($form,array('q'=>'Drupal','t'=>'a');打印$crawler->html()
$client = new Client();

$crawler = $client->request('GET', 'http://www.rapid7.com/db/');
$form = $crawler->filter('#search_form')->first()->form();
$crawler = $client->submit($form, array('q' => 'Symphony', 't' => 'a'));
print $crawler->html();