• 28-03-2016, 23:42:26
    #1
    $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ı
  • 29-03-2016, 00:01:57
    #2
    giriş 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
    $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ı
  • 29-03-2016, 00:29:01
    #3
    Sö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:33
    #4
    nası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
    Sö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
  • 30-03-2016, 22:06:53
    #5
    Hala çö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:12:52
    #6
    Cookie dosyasını okutamıyorsun hocam demekki. file_get_content yerine devam ettiğin sayfalarda cURL kullanarak COOKIEFILE parametresi ile cookie dosyasını okutman gerekiyor.
  • 30-03-2016, 22:27:54
    #7
    Zalmoxis adlı üyeden alıntı: mesajı görüntüle
    Cookie dosyasını okutamıyorsun hocam demekki. file_get_content yerine devam ettiğin sayfalarda cURL kullanarak COOKIEFILE parametresi ile cookie dosyasını okutman gerekiyor.
    ftpde bulunan cookie dosyasını bile kontrol ediyorum coookio oluşturuluyor.

    Ç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:09
    #8
    Giriş 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:42
    #9
    Etkilemesin 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