$kuladi= "uyeadi";
$parola= "uyesifre";
$postfields = "user=$kuladi&passwrd=$parola";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 1); // Get the header
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Allow redirection
curl_setopt($ch, CURLOPT_COOKIEJAR, "cookies.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt");
curl_setopt($ch, CURLOPT_URL,"http://siteadi.com/login.php");
curl_setopt($ch, CURLOPT_REFERER, "http://siteadi.com");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "$postfields");
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36");
curl_exec ($ch);
curl_close($ch);
Bu kodla siteye giriş yapılıyor ancak her sayfada giriş yapmış sayılmıyor bunu tüm sayfalarada giriş yapmış olarak göstermek için ne yapmalı
curl close kaptsamda olmadı
Php curl giriş yapma ile ilgili +1
11
●1.916
- 28-03-2016, 23:42:26
- 29-03-2016, 00:01:57giriş yaptıktan sonra cookies.txt dosyanızı kontrol eder misiniz. eğer içinde bir şey yoksa dosya yetkisi vermemişsinizdir chmod 0777 verirseniz cookie'ler içerisine yazılır ve sonraki sayfalarda aynı cookie ile yürüyebilirsiniz. ayrıca devam edeceğiniz curl'larda da aynı cookie'yi kullanmalısınız.
kolaylıklar.
tarantula901 adlı üyeden alıntı: mesajı görüntüle - 29-03-2016, 00:29:01Söyledikleriniz de sorun yok zaten cokoie oluşturuluyor sessionlar.
"devam edeceğiniz curl'larda da aynı cookie'yi kullanmalısınız."
yazdınız devam edeceğim url birden çok url oluyor döngüde bunların hepsine o fonksiyonun içinde nasıl kullanabilirsiniz
şuradan gelen tüm site linkleri döngü bunda yaptım $site = file_get_contents bunu göre üsteki kodlar nasıl olmalı
üsteki koddaki CURLOPT_REFERER mi eklemem gerekiyor herşeyi denedım ilk sayfada giriş yapılıor ancak diğer sayfalara ulaştııgında giriş yapılmamış oluyor - 29-03-2016, 00:55:33nasıl ki logini curl ile yapmışsınız devam edeceğiniz linklere de aynı şekilde curl ile ve cookie ile gitmeniz gerekiyor.
ille de file_get_contents diyorsanız da cookie ile ilerlemeniz mümkün. ama curl'un açtığı cookie dosyasını açtıracak içinden dosyaları alacak uygun formata sokacak ve stream_context_create vs yapmanız lazım. bence curl ile ilerleyin daha rahat olur. tek fark postfields yapmayacaksınız.
kolaylıklar
tarantula901 adlı üyeden alıntı: mesajı görüntüle - 30-03-2016, 22:06:53Hala çözemedim sorunu malesef normalde session çalışıyor ilgili sayfalarda giriş yaptığını gorebılıorum ama ziyaretcilere gizli link ve içerikler gorunmuyor delı oldu cok ugrastım cozume ulamadım
function getLinks($link) { $ret = array(); $dom = new domDocument; @$dom->LoadHTML(file_get_contents($link)); $dom->preserveWhiteSpace = false; $links = $dom->getElementsByTagName('a'); foreach ($links as $tag) { @$ret[$tag->getAttribute('href')] = $tag->childNodes->item(0)->nodeValue; } return $ret; } $link = $kategori_linki; $urls = getLinks($link); if(sizeof($urls) > 0) { foreach ($urls as $key=>$value) { if(!strstr($key,"#msg") and strstr($key,".0") and !strstr($key,"board")) { $tekonulinkleri[] = $key; } } }üsteki koda forumun bir kategori linki ekleniyor o kategoriye bağlı konuları donguye sokuyor ve for dongusune soktürerek tüm içeriği başlık ve içerik olarak kaydettirebiliyorum. bunda sorun yok sorun giriş yapılmış gorunmesine rağmen içerikteki gizli içeriği görememek sizce nerede bir hata yapıyorum. - 30-03-2016, 22:27:54ftpde bulunan cookie dosyasını bile kontrol ediyorum coookio oluşturuluyor.Zalmoxis adlı üyeden alıntı: mesajı görüntüle
Çalışıp çalışmadığını ise "file_get_contents" ile bağlantılı linkleri döngüye sokup giriş yapmışmı yapmamışmı diyede kontrol ediyorum. açılaan sayfalarda giriş yapıldığı gözüküyor. aşağıdaki kodda oluşan çookie göstermek için kullanıyorum.
curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
Sıralam önemlimi acaba session için bir kod eklemek gerekiyormu şu curl ile gelen kodlar haricinde artık mantığım bitti malesef oyuzden yardım istiyorum kolay kolayda yardım istemem umarım yardımcı olursunuz. - 30-03-2016, 22:49:09Giriş yaptıktan sonra sayfaları dolaşırken aşağıdaki kod bloğunu kullanmayı deneyin birde hocam.
$ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // Allow redirection curl_setopt($ch, CURLOPT_COOKIEFILE, "cookies.txt"); curl_setopt($ch, CURLOPT_URL,"http://siteadi.com/login.php"); curl_setopt($ch, CURLOPT_REFERER, "http://siteadi.com"); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36"); curl_exec ($ch); curl_close($ch);
- 30-03-2016, 23:10:42Etkilemesin diye giris diye bir php giris yapan kodları ekledım ve ftp cookoie oluşturdum ve soyledıgın kodu sayfalara baglanan kodlarının bulundugu kısıma bu soyledıgın kodları ekledim.
giriş yapmış olarak gözüküyor ama loginın yonlendırdıgı sayfa anasyafa oldugu ıcın sadece o kısımlar sadece login heralde
onun dışında bağlanması gereken sayfaları linklerini aşağıdaki kodda bulunan url kısma ekledım bu sayede tum gırıs yapması gereken sayfalara giriş yapmış olarak gözüküyor ama içeriği çekerken gizli linkleri eklememiş oluyor. herşey düzgün çalışmasına rağmen hata nerde sizce