所以我有这个基本的 html fourm
<form action="action.php" class="btn" autocomplete="on">
Username: <input type="text" name="username" size="15" /><br />
Password: <input type="password" name="password" size="15" /><br />
<div align="center">
<p><input type="submit" value="Local" /></p>
</div>
</form>
在我的 action.php 中有
$ch = curl_init();
$username = $_POST["username"];
$password = $_POST["password"];
$postData = array(
'login' => '$username',
'pwd' => '$password'
);
curl_setopt_array($ch, array(
CURLOPT_URL => 'facebook.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_FOLLOWLOCATION => true
));
$output = curl_exec($ch);
echo $output;
我的问题是,当我点击提交按钮时,它打开了 facebook.com,但没有执行任何操作。如果登录成功,我真正想要的只是真或假。有没有办法查明给定的用户名和密码是否正确?我知道这是基本的,但我是 php 的新手,抱歉 :-p
最佳答案
您需要添加 method='POST'
在你的 <form>
作为一个属性。
像这样...
<form action="action.php" method='POST' class="btn" autocomplete="on">
为什么没有反应?
您需要添加此 cURL 参数 CURLOPT_SSL_VERIFYPEER => false
.
这样..你的代码看起来像
curl_setopt_array($ch, array(
CURLOPT_URL => 'facebook.com',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $postData,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_SSL_VERIFYPEER => false //<---- See I added it here
));
关于php - CURL,使用 curl 发送登录请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21719686/