Merhaba arkadaşlar curl ile post giriş yapıp veri cekimi yapıyor fakat bazı sunucularda followlocation safe mod ve openbasedir e takıldıgı için calısmıyor bu fonksiyon. onun için internette bir fonksiyon buldum denedim fakat giriş yapıp gerekli sayfaya yönlenemedim.
Denedigim fonk.
Hocam oturum açtığınız site cookie mi sessionmu kullanıyor bilmiyorum fakat session için follow location kullanmadan şu şekilde veri çekebildim.
s1.php:
<?php
$a=curl_init();
curl_setopt($a,CURLOPT_URL,"http://sitem.com/s2.php");
curl_setopt($a,CURLOPT_USERAGENT,"Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36");
curl_setopt($a,CURLOPT_REFERER,"http://google.com.tr");
curl_setopt($a,CURLOPT_RETURNTRANSFER,true);
curl_setopt($a,CURLOPT_HEADER,true);
$b=curl_exec($a);
preg_match('#Location:(.*?)\n#si',$b,$c);
preg_match('#PHPSESSID=(.*?);#si',$b,$c1);
$uri="http://sitem.com/".str_replace(array("\n","\r","\t"," "),'',$c[1]);
$headers = array();
$headers[] = 'Host: sitem.com';
$headers[] = 'User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0';
$headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$headers[] = 'Accept-Language: tr-TR,tr;q=0.8,en-US;q=0.5,en;q=0.3';
$headers[] = 'Cookie: PHPSESSID='.$c1[1].';';
$headers[] = 'Connection: keep-alive';
curl_setopt($a,CURLOPT_HEADER,false);
curl_setopt($a,CURLOPT_HTTPHEADER,$headers);
curl_setopt($a,CURLOPT_URL,$uri);
$d=curl_exec($a);
curl_close($a);
echo $d;
?>s2.php:
<?php
ob_start();
session_start();
$_SESSION['deneme']="deneme".rand(1000,9000);
header("Location:s3.php");
ob_end_flush();
?>s3.php:
<?php
ob_start();
session_start();
if($_SESSION['deneme']) {
echo $_SESSION['deneme'];
}
ob_end_flush();
?>
Çıktı: deneme7942
Hocam eğer anlamadıysanız olayı derinlemesine açıklayabilirim.