我正在做一个项目。所以我必须从下面提到的网站获取验证码。用户将提交验证码和他的登录凭据,然后我必须提取数据(为了用户的利益)。但是在我提交验证码后,只是出现登录页面,没有任何反应。
我已经在多个站点上进行了尝试,并且只出现了登录页面。我知道登录后如何获取数据,但是验证码真的很头疼
<?php
$cookie="cookie.txt";
function open($url)
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2) Gecko/20070219 Firefox/2.0.0.2');
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_COOKIE, 1);
curl_setopt($ch, CURLOPT_COOKIEJAR,$cookie);
curl_setopt($ch, CURLOPT_COOKIEFILE,$cookie);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt ($ch, CURLOPT_REFERER, $url);
$result = curl_exec($ch);
curl_close($ch);
return $result;
}
function between($string, $start, $end)
{
$out = explode($start, $string);
if(isset($out[1]))
{
$string = explode($end, $out[1]);
echo $string[0];
return $string[0];
}
return '';
}
function get_captcha()
{
$url = 'https://academics.vit.ac.in/student/stud_login.asp';
$open = open($url);
$code = between($open, '<img src='https://academics.vit.ac.in/student/captcha.asp', '">');
// echo 'https://academics.vit.ac.in/student/captcha.asp' . $code;
return 'https://academics.vit.ac.in/student/captcha.asp' . $code;
//return ;
}
function rahul()
{
$capth=htmlspecialchars($_POST['code']);
echo $capth;
$username="xyz";
$password="abc";
$url="https://academics.vit.ac.in/student/stud_login.asp";
$cookie="cookie.txt";
$veri=$capth;
$com="Login";
$postdata = "regno=".$username."&passwd=".$password."&vrfcd=".$veri."&submit=".$com;
$ch = curl_init();
curl_setopt ($ch, CURLOPT_URL, $url);
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");
curl_setopt ($ch, CURLOPT_TIMEOUT, 60);
curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookie); // <-- add this line
curl_setopt ($ch, CURLOPT_REFERER, $url);
curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata);
curl_setopt ($ch, CURLOPT_POST, 1);
$result = curl_exec ($ch);
echo $result;
$data = curl_exec($ch);
}
?>
<html>
<body>
<form action="" method="post">
<img src="<?php echo get_captcha(); ?>" border="0" /><br />
<input type="text" name="code" value="<?= isset($_POST['code']) ? htmlspecialchars($_POST['code']) : '' ?>" /><br />
<input type="submit" name="submit" value="submit"/>
</form>
<?php
if(isset($_POST['submit'])) {
rahul();
}
?>
</body>
</html>