Symfony客户端& DomCrawler:发布查询字符串

时间:2013-02-06 01:25:52

标签: symfony

我在尝试POST到需要查询字符串的脚本时遇到问题。我正在使用下面的代码,但如果我请求没有查询字符串的页面或将查询变量设置为“”,我会得到相同的错误响应。

例如http://example.com/login?validate在浏览器中有效,但http://example.com/login?validate=""没有(页面显示错误)

我的代码:

$client = new Client();
$crawler = $client->request("POST","https://www.example.com/cgi-bin/login?validate", array(
    'USERNAME' => 'TEST',
    'PASSWORD' => 'TEST'
));

1 个答案:

答案 0 :(得分:0)

通常你会使用这样的路线:

$client->request('POST', '/login', array(
    'USERNAME' => 'TEST',
    'PASSWORD' => 'TEST'
    )
);

在您的特定情况下,我认为您不需要添加?validate,因为它应该在您提交表单时触发:

$client->request('POST', 'https://www.example.com/cgi-bin/login', array(
    'USERNAME' => 'TEST',
    'PASSWORD' => 'TEST'
    )
);

另外,请确保您的字段为USERNAME而非username,区分大小写。