Я пытаюсь войти в форму удаленного входа с помощью 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 ($ ч) убедитесь, что мои имя пользователя и пароль отправлены правильно или нет для этой аутентификации в форме входа или как-то иначе, как я могу это сделать?
Вы можете предложить мне любой другой способ сделать это.
Заранее спасибо.
У вас есть 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);
Других решений пока нет …