• 04-06-2009, 10:41:46
    #1
    Üyeliği durduruldu
    ssl üzerinden daha önce curl kütüphanesini kullanan var mı abaca?

    ilgilenenlere şimdiden teşekkürler
  • 04-06-2009, 11:20:21
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    şu sınıf işinizi çözebilir.

       <?
    /* @yns - www.benzinliktekiadam.com */
    class attila {
        var $ch = "";
        var $userAgent = 'Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)';
        var $cookieF   = 'tmp/getcookies.txt'; # path tam girilmelidir. ( absolute )
        
        /* HTTP istegini baslat */
        function baslat($url) {
              $this->ch = curl_init($url);
        }
        
        /* HTTP isteginin detaylari - ana fonksiyon */
        function istekDetay($istek,$cookie="1",$HTTPS="0",$postVerisi="") {
    
            if($istek == 'POST' && $fields != "") {
                curl_setopt($this->ch,CURLOPT_POSTFIELDS,$fields);
            }
            
            if($istek == 'GET') {
                curl_setopt($this->ch,CURLOPT_HTTPGET,1);
            }
    
            if($istek == 'POST') {
                curl_setopt($this->ch,CURLOPT_POSTFIELDS,$postVerisi);
            }
            
            if($cookie == 1) {
                curl_setopt($this->ch,CURLOPT_COOKIEJAR, $this->cookieF);
                curl_setopt($this->ch,CURLOPT_COOKIEFILE,$this->cookieF);
            }
            
          if($HTTPS == 1) {
                curl_setopt($this->ch, CURLOPT_SSL_VERIFYPEER, FALSE);
            }
    
        curl_setopt($this->ch, CURLOPT_USERAGENT, $this->userAgent);
            curl_setopt($this->ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($this->ch, CURLOPT_RETURNTRANSFER,1);
    
            return curl_exec($this->ch);
            $this->istekBitis();
                  
        }
        
    
        /* HTTP istegi sonu */
        function istekBitis() {
            curl_close($this->ch);    
        }
        
        /* ara fonksiyonlar */
        function POST($url,$fields,$cookies,$https=0) {
    
              $this->baslat($url); 
    
            if($https == 1) $https = 1; else $https = 0;
            
            if($cookies == 0) {
                return $this->istekDetay('POST',0,$https,$fields);
            }
            
            if($cookies == 1) {
                return $this->istekDetay('POST',1,$https,$fields);
            }
        }
        
        function GET($url,$cookies,$https=0) {
    
              $this->baslat($url); 
    
            if($https == 1) $https = 1; else $https = 0;
            
            if($cookies == 0) {
                return $this->istekDetay('GET',0,$https,0);
            }
            
            if($cookies == 1) {
                return $this->istekDetay('GET',1,$https,0);
            }
    
        }  
    }
    
    ?>
    kullanımı

    include_once('curl.class.php');
    $curl = new attila;
    echo $curl->POST('https://www.site.com/login','user=Raiden&pass=123456',1);
    ayrıca tmp/getcookies.txt bu dizine de getcookies.txt adlı bir dosya kaydetmelisiniz. cookie değerleri varsa kaydetmesi için.