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

时间:2018-04-10 04:06:36

标签: php curl forms-authentication php-curl

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

cURL配置代码如下 -

header

我确保 CURLOPT_RETURNTRANSFER 选项 0 ,因为我无需获取整个html页面,我只需要确认密码。

NSURL

但是当我执行命令时,即使我也输入了错误的密码和用户名组合,我也总是如此。

    $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');

curl_exec($ ch) 的返回值将确保我在登录表单中发送用户名和密码对于此身份验证是否正确,或者我该怎么办?做这个 ?

你可以建议我采用其他任何方式来做到这一点。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您有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);