在表单上使用Guzzle登录 - 在test.de上发布请求

问题描述 投票:0回答:1

我想使用我的PHP脚本和Guzzle登录这个网站:https://www.test.de/meintest/login/

但是,我已经尝试了很多解决方案并且还阅读了this文章,我仍然无法登录...主要是因为请求构建非常复杂..我使用firefox来记录网站正在按“Einloggen”执行的请求(意味着登录)。在实际登录之前已经完成了XHR请求。我认为这必须对登录和参数做一些事情。

到目前为止这是我的代码:

$loginURL = "https://test.de/meintest/login";

$guzzle = new \GuzzleHttp\Client();
$cookieJar = new \GuzzleHttp\Cookie\CookieJar();

$response = $guzzle->request('POST', $loginURL, [
        'form_params' => [
            'username' => "0000000000",
            'password' => "0000000000",
            'action' => 'login'
        ],
        'cookies' => $cookieJar,
        'debug' => true
    ]
);

var_dump($response->getBody()->getContents());
var_dump($guzzle->getConfig('cookies'));

还有一些隐藏的输入充满了我认为的XHR请求。

你们可以帮助我,告诉我我的失败在哪里......?

编辑但我也可以假设它不工作的原因是这条线var_dump($guzzle->getConfig('cookies'));总是打印bool(false)而不是饼干..饼干甚至得到保存?

亲切的问候,谢谢!

php laravel forms post guzzle
1个回答
0
投票

我注意到有2个隐藏的输入“source”和“hash”,显然你错过了那些字段。

如今大多数网站都有CSRF保护。您不能只发布表格数据登录。

© www.soinside.com 2019 - 2024. All rights reserved.