繁体   English   中英

CURL,使用curl发送登录请求

[英]CURL, Send Login request useing curl

所以我有这个基本的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

您需要在<form>上添加method='POST'作为属性。

像这样...

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM