0

我在尝试 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'
));
4

1 回答 1

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,它区分大小写。

于 2013-02-06T08:13:13.200 回答