如何在不抓取 php cURL 中的整个 html 页面的情况下确保发送的用户名和密码组合正确?

How can I make sure my sending username and password combination is correct without grabbing the whole html page in php cURL?

我正在尝试使用 php cURL 发送带有 CURLOPT_POSTFIELDS 值的用户名和密码来登录远程登录表单。这是一个实验。

cURL配置代码如下-

    $username = myname;
    $password = '1323';
    curl_setopt($ch, CURLOPT_URL,'http://localhost/Hackalgo/DummySite/login.php');
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,
'username='.$username.'&password='.$password);
    curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt');

我已经确保 CURLOPT_RETURNTRANSFER 选项是 0 因为我不需要得到整个 html 页面抢我只需要确认密码。

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);

但是当我执行命令时,即使我也传递了错误的密码和用户名组合,我总是得到正确的结果。

 $result = curl_exec($ch);
 var_dump($result); 

curl_exec($ch) 的 return 值将确保我发送的用户名和登录表单中的此身份验证密码是否正确,否则我该怎么做?

您可以向我推荐任何其他方法。

在此先感谢。

你有2个选项。

1) 使用 CURLOPT_USERPWD 除了 CURLOPT_POSTFIELDS

2) send 格式正确 Content-Type (根据目标要求)例如 send json

$params = [ "username" => $username, "passwd" => $passwd, ];

$json = json_encode($params);

curl_setopt($ch,CURLOPT_POSTFIELDS, $json);