如何在不抓取 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);
我正在尝试使用 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);