Herkese selam, şu anda bir siteden veri çekmek için bir bot yapıyorum fakat bir türlü yapamadım daha doğrusu inputlara post işlemini doğru dürüst yapabildiğimden emin değilim baya uğraştım fakat soluğu burada aldım daha önce curl post ile uğraşmış bilgisi olan arkadaşlar yardımcı olur ise sevinirim.


function Baglan($url){
$curl=curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($curl, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
$cikti=curl_exec($curl);
echo curl_error($curl);
curl_close($curl);
return str_replace(array("\n","\t","\r"),null,$cikti);
}

$bag = Baglan('https://www.kitapyurdu.com/index.php?route=account/login');
preg_match_all('##' , $bag , $token);
$baslik2 = str_replace("\" />", "", $token[1][0]); //Sonda bi kaç karakter vardı çekerken sorunluydu yani ondan dolayı onu temizledim

echo trim($baslik2); //burda token i çektim





function Baglan2($url2,$data){
$curl_baslat=curl_init();
curl_setopt($curl_baslat,CURLOPT_URL,$url2);
curl_setopt($curl_baslat, CURLOPT_HEADER, 0);
$tmpfname = dirname(__FILE__).'/cookie.txt';
curl_setopt($curl_baslat, CURLOPT_COOKIEJAR, $tmpfname);
curl_setopt($curl_baslat, CURLOPT_COOKIEFILE, $tmpfname);
curl_setopt($curl_baslat, CURLOPT_REFERER, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($curl_baslat, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl_baslat,CURLOPT_FOLLOWLOCATION,1);
curl_setopt($curl_baslat,CURLOPT_POST,1);
curl_setopt($curl_baslat,CURLOPT_POSTFIELDS,$data);
curl_setopt($curl_baslat,CURLOPT_RETURNTRANSFER,1);
$gelen_deger=curl_exec($curl_baslat);
curl_close($curl_baslat);
echo $gelen_deger;

}


$baglan = Baglan2("https://www.kitapyurdu.com/index.php?route=account/login",array(
'csrf_token'=> $baslik2, //burası token kısmı hidden inputtan alındı olmasa siteye giriş yapamaz diye düşünüyorum
'password'=>'orneksifre', //sitedeki input name i ve sonrasınkai değeri şifre
'email'=> 'email@email.com')); //aynı şkilde sitedeki input un name i ve değeri

preg_match_all('#(.*?)#' , $baglan , $deneme);

$url = 'http://'.$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI']; //burda hangi urlde olduğunu anlamaya çalışıyorum

echo $url;
echo "
";

print_r($deneme);
echo "
";


?>

token kısmında hata yaptığımı düşünüyorum birde giriş yaptıktan sonra hangi urlde olacağını

yardımcı olursanız çok sevinirim eğer ücretli şekilde yardımcı olmayı düşününen arkadaşlar var ise onlarlada konuşabilirim.şimdiden saolun