Curl İle Oturum Açma Sorunu

muho61

Paylaşım Ekibi
Üyelik Tarihi
23 Aralık 2020
Mesajlar
262
Beğeniler
2
Ticaret: 0 / 0 / 0
Kod:
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 "Giriş Bilgi:::\n\rfields:$fields\n\r $url\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($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']);
}

}

yukarıdaki Fonksiyon Curl Fonksiyonum

Ö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

 

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" );
 
Üst