• 13-03-2014, 05:38:00
    #1
    Merhaba arakdaslar curl ile bir sayfaya login olma ve işlem yapma gibi bir kod geliştirmekteyim işlemler local hostta vede kendi hostumda sorunsuz birşekilde çalişiyor. Fakat musterimin hostunda Malesef çalişmiyor her zamanki gibi


    curl_setopt($ch, CURLOPT_URL, $url);
      
        curl_setopt($ch, CURLOPT_USERPWD, "admin:xxxxx");
          
       $data = curl_exec($ch); 
       curl_close($ch);

    seklinde bir kod kulaniyorum. url dogru pass ve şifred dogru.
    Ne login olan var nede data içesine bir şey geliyor.
    İşin tuaf olan kısmı benim makinede calişiyor vede çalışmayan yerdede curl yuklu .
    Sizce sorun neden kaynaklı oalbilir. Sunucudan ise ne tur bir ayar yapilmali.
  • 13-03-2014, 10:29:15
    #2
    Üyeliği durduruldu
    NURAH adlı üyeden alıntı: mesajı görüntüle
    Merhaba arakdaslar curl ile bir sayfaya login olma ve işlem yapma gibi bir kod geliştirmekteyim işlemler local hostta vede kendi hostumda sorunsuz birşekilde çalişiyor. Fakat musterimin hostunda Malesef çalişmiyor her zamanki gibi


    curl_setopt($ch, CURLOPT_URL, $url);
      
        curl_setopt($ch, CURLOPT_USERPWD, "admin:xxxxx");
          
       $data = curl_exec($ch); 
       curl_close($ch);

    seklinde bir kod kulaniyorum. url dogru pass ve şifred dogru.
    Ne login olan var nede data içesine bir şey geliyor.
    İşin tuaf olan kısmı benim makinede calişiyor vede çalışmayan yerdede curl yuklu .
    Sizce sorun neden kaynaklı oalbilir. Sunucudan ise ne tur bir ayar yapilmali.

    <? 
    $kullanici_kodu = $_POST['usercode'];
    $kullanici_adi = $_POST['username'];
    $sifre = $_POST['pass'];
    $sayfa="http://abone.iha.com.tr/yeniabone/Login.aspx";
    $ch = curl_init();
    if (!$ch) { die ("Curl oturumu baslatamadim.."); }
    curl_setopt($ch, CURLOPT_URL,$sayfa); 
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,"__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=/wEPDwUKMTkxMTA2ODM3Ng9kFgICAw9kFggCAw8PFgIeBFRleHQFHklQIE51bWFyYW7EsXogOiA4OC4yNDAuMTU4LjEzOGRkAgcPEGRkFgECAWQCCQ8WAh4HVmlzaWJsZWgWAmYPZBYEAgMPDxYCHwAFCW9sYXl0YWtpcGRkAhEPDxYEHwAFRkJveWxlIGJpciBJUCBhZHJlc2kgc2lzdGVtZGUga2F5aXRsaSBkZWdpbC5JUCBpbGUgZ2lyacWfIHlhcMSxbGFtYWTEsS4fAWdkZAILDxYCHwFnFgJmD2QWAgIZDw8WBB8ABUZCb3lsZSBiaXIgSVAgYWRyZXNpIHNpc3RlbWRlIGtheWl0bGkgZGVnaWwuSVAgaWxlIGdpcmnFnyB5YXDEsWxhbWFkxLEuHwFnZGRkvZSP7c0HpeowODMzsHcCgSMYF80=&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__EVENTVALIDATION=/wEWCgLV48CrAgLT3MG6AwLM3MG6AwLDs+vUDwKSsJLeDALjqqICAo7f/eoNApyy+qQKAoWayroIAsqZvbMHQhWUVN7dh1zeclj2RuxYxtxbyiw=&rblLoginType=1&textboxKullaniciKodu=$kullanici_kodu&KullaniciAdi=$kullanici_adi&textboxKullaniciSifre=$sifre&buttonOKManualLogin=Giriş Yap");
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    $user_agent = "Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.19) Gecko/20080528 Epiphany/2.22"; 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $data = curl_exec($ch); 
    curl_close($ch);  
     
    ?>
     
    <?
    function CurlFunc($url)
    {if (!extension_loaded(curl))
    {
    die("Extension yuklu degil socket deneyebilirsin");
    }
    $ch = curl_init();
    if (!$ch) { die ("Curl oturumu baslatamadim.."); }
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    //curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    $user_agent = "Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.19) Gecko/20080528 Epiphany/2.22"; 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $data = curl_exec($ch); 
    curl_close($ch);  
    return $data;
    }
    $site=CurlFunc("http://abone.iha.com.tr/yeniabone/RSS2.aspx?Kategori=0&Sehir=1"); // Alinacak Siteyi Belirliyoruz.
      
    preg_match_all('#<title>(.*?)</title>#si',$site,$bilgi,PREG_SET_ORDER); 
    // Preg_match_all Alinacak heryeri belirliyruz benzerlerini tabi
    $say=count($bilgi);           // Burda ise preg_match_all icinden gelen kactane veri varsa onlari sayi degerini veriyor.
    for($i=1; $i<10; $i++){           // Burda ise her preg_match_all deki verilerin araliklarini alir ve ekrana yazdiri yada sql'a yazdirirsin
    $haberbaslik=$bilgi[$i][1];
     
    print $haberbaslik;
     
    }
    ?>
    şu şekilde yapabilirsin hocam login olması lazım

    login alanlarını kendine göre düzenlersin.

    yada http://phpbot.net/files/curlclass.zip

    güzel bir curl class indir incele yardımı mutlaka olur
  • 13-03-2014, 10:32:36
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    curl_exec fonksiyonu sunucuda kapatilmis olabilir.
  • 13-03-2014, 11:49:21
    #4
    Sample adlı üyeden alıntı: mesajı görüntüle
    <? 
    $kullanici_kodu = $_POST['usercode'];
    $kullanici_adi = $_POST['username'];
    $sifre = $_POST['pass'];
    $sayfa="http://abone.iha.com.tr/yeniabone/Login.aspx";
    $ch = curl_init();
    if (!$ch) { die ("Curl oturumu baslatamadim.."); }
    curl_setopt($ch, CURLOPT_URL,$sayfa); 
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch,CURLOPT_POSTFIELDS,"__EVENTTARGET=&__EVENTARGUMENT=&__LASTFOCUS=&__VIEWSTATE=/wEPDwUKMTkxMTA2ODM3Ng9kFgICAw9kFggCAw8PFgIeBFRleHQFHklQIE51bWFyYW7EsXogOiA4OC4yNDAuMTU4LjEzOGRkAgcPEGRkFgECAWQCCQ8WAh4HVmlzaWJsZWgWAmYPZBYEAgMPDxYCHwAFCW9sYXl0YWtpcGRkAhEPDxYEHwAFRkJveWxlIGJpciBJUCBhZHJlc2kgc2lzdGVtZGUga2F5aXRsaSBkZWdpbC5JUCBpbGUgZ2lyacWfIHlhcMSxbGFtYWTEsS4fAWdkZAILDxYCHwFnFgJmD2QWAgIZDw8WBB8ABUZCb3lsZSBiaXIgSVAgYWRyZXNpIHNpc3RlbWRlIGtheWl0bGkgZGVnaWwuSVAgaWxlIGdpcmnFnyB5YXDEsWxhbWFkxLEuHwFnZGRkvZSP7c0HpeowODMzsHcCgSMYF80=&__SCROLLPOSITIONX=0&__SCROLLPOSITIONY=0&__EVENTVALIDATION=/wEWCgLV48CrAgLT3MG6AwLM3MG6AwLDs+vUDwKSsJLeDALjqqICAo7f/eoNApyy+qQKAoWayroIAsqZvbMHQhWUVN7dh1zeclj2RuxYxtxbyiw=&rblLoginType=1&textboxKullaniciKodu=$kullanici_kodu&KullaniciAdi=$kullanici_adi&textboxKullaniciSifre=$sifre&buttonOKManualLogin=Giriş Yap");
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    $user_agent = "Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.19) Gecko/20080528 Epiphany/2.22"; 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $data = curl_exec($ch); 
    curl_close($ch);  
     
    ?>
     
    <?
    function CurlFunc($url)
    {if (!extension_loaded(curl))
    {
    die("Extension yuklu degil socket deneyebilirsin");
    }
    $ch = curl_init();
    if (!$ch) { die ("Curl oturumu baslatamadim.."); }
    curl_setopt($ch, CURLOPT_URL,$url); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    //curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    $user_agent = "Mozilla/5.0 (X11; U; Linux x86_64; en; rv:1.9.0.19) Gecko/20080528 Epiphany/2.22"; 
    curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
    $data = curl_exec($ch); 
    curl_close($ch);  
    return $data;
    }
    $site=CurlFunc("http://abone.iha.com.tr/yeniabone/RSS2.aspx?Kategori=0&Sehir=1"); // Alinacak Siteyi Belirliyoruz.
      
    preg_match_all('#<title>(.*?)</title>#si',$site,$bilgi,PREG_SET_ORDER); 
    // Preg_match_all Alinacak heryeri belirliyruz benzerlerini tabi
    $say=count($bilgi);           // Burda ise preg_match_all icinden gelen kactane veri varsa onlari sayi degerini veriyor.
    for($i=1; $i<10; $i++){           // Burda ise her preg_match_all deki verilerin araliklarini alir ve ekrana yazdiri yada sql'a yazdirirsin
    $haberbaslik=$bilgi[$i][1];
     
    print $haberbaslik;
     
    }
    ?>
    şu şekilde yapabilirsin hocam login olması lazım

    login alanlarını kendine göre düzenlersin.

    yada http://phpbot.net/files/curlclass.zip

    güzel bir curl class indir incele yardımı mutlaka olur
    Authentication tarzi şifreli alana login olmak istiyoruz.Herhangi bir sayfadan veri cekme olayi değil işlemimiz.





    AndyCap adlı üyeden alıntı: mesajı görüntüle
    curl_exec fonksiyonu sunucuda kapatilmis olabilir.
    malesef curl_exec çalişir durumda. vede sayfa cagirabiliyorum sunucuda curl ile
  • 13-03-2014, 19:55:19
    #5
    Konu günceldir.