• 14-09-2016, 20:19:30
    #1
    Üzerinde çalıştığım bir sistem var ve curl ile login oluyorum. Cookie dosyası cookie.txt içerisinde, başka bir php sayfasından cookie.txt dosyasını kullanarak ilk sayfada açtığım session ile veri çekemiyorum.
  • 17-09-2016, 21:29:19
    #2
    cookie dışında etag, referer kontrolü vs varsa kontrol edin.
  • 18-09-2016, 12:17:12
    #3
    night_walker adlı üyeden alıntı: mesajı görüntüle
    Üzerinde çalıştığım bir sistem var ve curl ile login oluyorum. Cookie dosyası cookie.txt içerisinde, başka bir php sayfasından cookie.txt dosyasını kullanarak ilk sayfada açtığım session ile veri çekemiyorum.
        $username="mylogin@gmail.com"; 
    $password="mypassword"; 
    $url="http://www.myremotesite.com/index.php?page=login"; 
    $cookie="cookie.txt"; 
    
    $postdata = "email=".$username."&password=".$password; 
    
    $ch = curl_init(); 
    curl_setopt ($ch, CURLOPT_URL, $url); 
    curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, FALSE); 
    curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"); 
    curl_setopt ($ch, CURLOPT_TIMEOUT, 60); 
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 0); 
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookie); 
    curl_setopt ($ch, CURLOPT_REFERER, $url); 
    
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $postdata); 
    curl_setopt ($ch, CURLOPT_POST, 1); 
    $result = curl_exec ($ch); 
    
    echo $result;  
    curl_close($ch);
    //username and password of account
    $username = trim($values["email"]);
    $password = trim($values["password"]);
    
    //set the directory for the cookie using defined document root var
    $dir = DOC_ROOT."/ctemp";
    //build a unique path with every request to store 
    //the info per user with custom func. 
    $path = build_unique_path($dir);
    
    //login form action url
    $url="https://www.site.com/login/action"; 
    $postinfo = "email=".$username."&password=".$password;
    
    $cookie_file_path = $path."/cookie.txt";
    
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_HEADER, false);
    curl_setopt($ch, CURLOPT_NOBODY, false);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    
    curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie_file_path);
    //set the cookie the site has for certain features, this is optional
    curl_setopt($ch, CURLOPT_COOKIE, "cookiename=0");
    curl_setopt($ch, CURLOPT_USERAGENT,
        "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.7.12) Gecko/20050915 Firefox/1.0.7");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
    
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postinfo);
    curl_exec($ch);
    
    //page with the content I want to grab
    curl_setopt($ch, CURLOPT_URL, "http://www.site.com/page/");
    //do stuff with the info with DomDocument() etc
    $html = curl_exec($ch);
    curl_close($ch);
    Kaynak: http://stackoverflow.com/questions/3...-with-php-curl