Php Curl ile Oturum Açmaya Çalışıyorum Oturum Açmıyor Aynı Bilgileri Bir Form Aracılığı ile Karşı Tarafa Gönderdiğimde Sisteme Giriş Yapıyor
Ancak Aynı Bilgileri Php Curl ile Gönderip Oturum Açmaya Çalışıyorum Sisteme Giriş Yapamıyorum
Kod: Tümünü seç
function baglan($url,$tip )
{
if($tip=='baslangic')
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_REFERER, "https://odeme.paynet.com.tr/Account/Login");
curl_setopt($ch, CURLOPT_COOKIEJAR, 'paynet_cookie.txt');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'paynet_cookie.txt');
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER ["HTTP_USER_AGENT" ] );
curl_setopt($ch, CURLOPT_HEADER , 1 );
curl_setopt($ch, CURLOPT_COOKIESESSION , true );
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$calistir = curl_exec($ch);
curl_close($ch);
$ar1 = '<\input name="__RequestVerificationToken" type="hidden" value="';
$ar2 = '"';
preg_match("/$ar1(.*?)$ar2/s", $calistir,$dizi);
$_SESSION['__RequestVerificationToken']=urlencode($dizi[1]);
}
else if($tip=='giris')
{
$_SESSION['ch'] = curl_init();
$fields = "__RequestVerificationToken=".$_SESSION['__RequestVerificationToken']."&CustomerCode=".$_SESSION["CustomerCode"]."&Username=".$_SESSION['Username']."&Password=".$_SESSION['Password'];
//echo "Url Adresi= $url\n\rGonderilen Post Bilgileri=$fields\n\r ";
curl_setopt($_SESSION['ch'], CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($_SESSION['ch'], CURLOPT_REFERER, "https://odeme.paynet.com.tr/Account/Login");
curl_setopt($_SESSION['ch'], CURLOPT_COOKIEJAR, 'paynet_cookie.txt');
curl_setopt($_SESSION['ch'], CURLOPT_COOKIEFILE, paynet_cookie.txt');
curl_setopt($_SESSION['ch'] , CURLOPT_COOKIESESSION , true );
curl_setopt($_SESSION['ch'], CURLOPT_USERAGENT, $_SERVER ["HTTP_USER_AGENT" ] );
curl_setopt( $_SESSION['ch'] , CURLOPT_HEADER , 1 );
//curl_setopt($_SESSION['ch'], CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($_SESSION['ch'], CURLOPT_POST, 1);
curl_setopt($_SESSION['ch'], CURLOPT_POSTFIELDS, $fields );
curl_setopt($_SESSION['ch'], CURLOPT_URL, $url);
curl_setopt($_SESSION['ch'], CURLOPT_RETURNTRANSFER, 1);
$output = curl_exec($_SESSION['ch']);
}
}
Önce iki Parametre Alıyor Birincisi Url diğeri Tip (Bağlantı Tipi )Önce
baslangic için URL Gönderiyorum Çünkü Formdaki __RequestVerificationToken İnput içeriğini alıp Session atıyorum sonra baglantıda kullanacağım
Fonksiyonu Aşağıdaki Kodlar ile Kulanıyorum
Kod: Tümünü seç
baglan("https://odeme.paynet.com.tr/Account/Login","baslangic" );
$_SESSION["CustomerCode"] = musteri_kod;
$_SESSION["Username"] = kullanici_ad;
$_SESSION["Password"] = sifre;
echo baglan("https://odeme.paynet.com.tr/Account/Login","giris" );
Kod: Tümünü seç
curl_setopt($_SESSION['ch'], CURLOPT_USERAGENT, $_SERVER ["HTTP_USER_AGENT" ] );
başka ne kontrolu yapabilir ki
acaba nerde hata yapıyorum
yardımlarınız için Allah Razı Olsun