Merhabalar;

Curl kullanarak aspx bir sitede login olmaya çalışıyorum. Fakat bir türlü başaramadım. Kodları spoiler içinde veriyorum. Neresinde hata var acaba?

</<!DOCTYPE html>
<html>
<head>
	<title>Obis</title>
</head>
<body>
	<form id="aspnetForm" action="https://obisnet.adu.edu.tr/ObisNetv2/login.aspx" method="POST">
	<input type="text" name="user" id="user" placeholder="Öğrenci Numaranız"><br>
	<input type="password" name="sifre" id="sifre" placeholder="Şifreniz" ><br>
	<input type="submit" name="giris" value="Giriş"><br>



<?php

$url = "https://obisnet.adu.edu.tr/ObisNetv2/login.aspx";
$ckfile = tempnam("/tmp", "CURLCOOKIE");
$useragent = 'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/533.2 (KHTML, like Gecko) Chrome/5.0.342.3 Safari/533.2';

$username = @$_POST['user'];
$password = @$_POST['sifre'];
$giris = @$_POST['giris'];


$f = fopen('log.txt', 'w'); // file to write request header for debug purpose

/**
    Get __VIEWSTATE & __EVENTVALIDATION
 */
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);

$html = curl_exec($ch);

curl_close($ch);

preg_match('~<input type="hidden" name="__VIEWSTATEFIELDCOUNT" id="__VIEWSTATEFIELDCOUNT" value="(.*?)" />~', $html, $filedcount);
preg_match('~<input type="hidden" name="__VIEWSTATE1" id="__VIEWSTATE1" value="(.*?)" />~', $html, $viewstate1);
preg_match('~<input type="hidden" name="__VIEWSTATE2" id="__VIEWSTATE2" value="(.*?)" />~', $html, $viewstate2);
preg_match('~<input type="hidden" name="__VIEWSTATE3" id="__VIEWSTATE3" value="(.*?)" />~', $html, $viewstate3);
preg_match('~<input type="hidden" name="__VIEWSTATE4" id="__VIEWSTATE4" value="(.*?)" />~', $html, $viewstate4);
preg_match('~<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="(.*?)" />~', $html, $viewstate);
preg_match('~<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="(.*?)" />~', $html, $viewstategen);
preg_match('~<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="(.*?)" />~', $html, $eventValidation);


$filedcount = $filedcount[1];
$viewstate = $viewstate[1];
$viewstate1 = $viewstate1[1];
$viewstate2 = $viewstate2[1];
$viewstate3 = $viewstate3[1];
$viewstate4 = $viewstate4[1];
$viewstategen = $viewstategen[1];
$eventValidation = $eventValidation[1];

/**
 Start Login process
 */
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, false);
curl_setopt($ch, CURLOPT_COOKIEJAR, $ckfile);
curl_setopt($ch, CURLOPT_COOKIEFILE, $ckfile);
curl_setopt($ch, CURLOPT_HEADER, FALSE);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_REFERER, $url);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_STDERR, $f);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent);

// Collecting all POST fields
$postfields = array();
$postfields['__EVENTTARGET'] = "";
$postfields['__EVENTARGUMENT'] = "";
$postfields['__VIEWSTATEENCRYPTED'] = "";
$postfields['__VIEWSTATE'] = $viewstate;
$postfields['__VIEWSTATE1'] = $viewstate1;
$postfields['__VIEWSTATE2'] = $viewstate2;
$postfields['__VIEWSTATE3'] = $viewstate3;
$postfields['__VIEWSTATE4'] = $viewstate4;
$postfields['__VIEWSTATEFIELDCOUNT'] = $filedcount;
$postfields['__VIEWSTATEGENERATOR'] = $viewstategen;
$postfields['__EVENTVALIDATION'] = $eventValidation;
$postfields['ctl00$txtUserName'] = $username;
$postfields['ctl00$txtPassword'] = $password;
$postfields['ctl00$radbtnGiris'] = $giris;


curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postfields);
$ret = curl_exec($ch); // Get result after login page.

print $ret;


?>
</form>
</body>
</html>