• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
یک کلاس ساده برای CURL
#1
هو،
سلام علیکم،

یه کلاس بسیار ساده برای کار خودمون با CURL نوشتیم گفتیم در راستای سیاست اشتراک گذاری به اشتراک بذاریم Angel
شاید به کار تازه کارا بیاد:
کد پی‌اچ‌پی:
<?php
class OCurl{
    public 
$url;
    public 
$userAgent;
    
    public 
$parametrs=array(
    
'post' => true,
    
'proxy' => false
    
);
    public 
$postfields;
    public 
$proxy;
    public 
$cookieFile;
    public 
$referer;
    public 
$curl_source;
    public 
$cookie;
    public 
$result;
    public 
$header;
    public 
$userAgent_anable=true;
    public 
$curl_info;
    
    function 
OCurl($url,$usepost=false,$postfields=false){
        
$this->url=$url;
        
$this->curl_source=curl_init($this->url);
        if(
$usepost){
            
curl_setopt($this->curl_source,CURLOPT_POST,true);
                if(
is_array($postfields)){
                    
curl_setopt($this->curl_source,CURLOPT_POSTFIELDS,$this->preparePostFields($postfields));
                }else{
                    
curl_setopt($this->curl_source,CURLOPT_POSTFIELDS,$postfields);
                }
        
            }
            }

    function 
Oexec(){
        if(
$this->userAgent_anable){
                
$this->userAgent='Mozilla/5.0 (Windows NT 6.1; rv:9.0.1) Gecko/20100101 Firefox/9.0.1';
                
curl_setopt($this->curl_source,CURLOPT_USERAGENT,$this->userAgent);
                }
        
curl_setopt($this->curl_source,CURLOPT_REFERER,$this->referer);
        
curl_setopt($this->curl_source,CURLOPT_RETURNTRANSFER,true);
        
curl_setopt($this->curl_source,CURLOPT_FOLLOWLOCATION,true);
        if(isset(
$this->cookie)){
            
curl_setopt($this->curl_source,CURLOPT_COOKIE,$this->cookie);
            }
        if(isset(
$this->cookieFile)){
            
curl_setopt($this->curl_source,CURLOPT_COOKIEJAR,$this->cookieFile);
            
curl_setopt($this->curl_source,CURLOPT_COOKIEFILE,$this->cookieFile);
            }
        if(isset(
$this->header)){
            
curl_setopt($this->curl_source,CURLOPT_HEADER,true);
            
curl_setopt($this->curl_source,CURLOPT_HTTPHEADER,$this->header);
            }
        
$this->result curl_exec($this->curl_source);
        
$this->curl_info=curl_getinfo($this->curl_source);
        
curl_close($this->curl_source);
        
        }
    function 
preparePostFields($array) {
            
$params = array();
              foreach (
$array as $key => $value) {
                
$params[] = $key '=' urlencode($value);
              }
              return 
implode('&'$params);
                }

    } 
نمونه ساده استفاده:
کد پی‌اچ‌پی:
        $ch  = new Ocurl($url);
        
$ch->cookieFile=$pathToCookie;
        
$ch->cookie=$cookie;
        
$ch->Oexec();
        
$result $ch->result

کد پی‌اچ‌پی:
<?php
$blog 
= new Ocurl($url,true,array(
    
'name' => $name,
    
'comment' => $comment
));
$blog->Oexec();
echo 
$blog->result
یا حق ج

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط : hidensoft undefined ali786 oia admin Y.P.Y ahora
#2
سوئیچ کن به قالب جدید
Big Grin
۲ماه؟ ۳ روز هم نیست اینطور شده .
  پاسخ
تشکر شده توسط :
#3
مال من از امروز اینجوری شده Sad
وحید حداقل همه قالب هارو پاک کن و یکی بزار


GoBack شما کلاس رو یه فایل کن بزار داخل یه git دونی
یا بده وحید بزاره داخل git ایران php
با کپی رایت Angel
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط : oia Goback
#4
من کی گفتم 2 ماه؟ !!
حد اقل بعد از سال جدید که اینجوری بوده!

امید جان (GoBack) :
همون که یوشا (YPP) گفت
و اینکه یه اسم بهتر بزار
نه البته مثه
محمدامینCURL
Sleepy

ضمن حذف پست بی ربط خودم Big Grin
از دوستان هم می خوام پست های خودشون رو ویرایش کنن. لطفآ Smile
  پاسخ
تشکر شده توسط :
#5
نقل قول:همون که یوشا (YPP) گفت
YPP هم خودتی Dodgy
YPY Sleepy

بعدم مگه پستت چشه که حذف بشه؟
وبلاگ: Yousha.Blog.ir


 کد کمتر => خطای کمتر => قابل فهمتر => خوانایی بالاتر => نگهداری بهتر

  پاسخ
تشکر شده توسط :
#6
اون پسته که مربوط می شد به اخطار جاوااسکریپت هنگامه تشکر کردن!
که حذف کردم به دلیل بی ربط بودن با موضوع تایپینگ!
  پاسخ
تشکر شده توسط :
#7
(۱۳۹۱ اردیبهشت ۰۲, ۰۳:۰۲ ب.ظ)Y.P.Y نوشته: مال من از امروز اینجوری شده Sad
وحید حداقل همه قالب هارو پاک کن و یکی بزار


GoBack شما کلاس رو یه فایل کن بزار داخل یه git دونی
یا بده وحید بزاره داخل git ایران php
با کپی رایت Angel

گرچه مالی نیست ولی پخته تر و کامنت گذاری که شد حتما این کارو میکنم Heart

(۱۳۹۱ اردیبهشت ۰۲, ۰۵:۳۱ ب.ظ)oia نوشته: من کی گفتم 2 ماه؟ !!
حد اقل بعد از سال جدید که اینجوری بوده!

امید جان (GoBack) :
همون که یوشا (YPP) گفت
و اینکه یه اسم بهتر بزار
نه البته مثه
محمدامینCURL
Sleepy


اسمش که معلومه Zcurl Big Grin
..نه ببخشید اشتباه شد OCurl

اللهم صل علی محمد و آل محمد و عجل فرجهم

افلاطون را گفتند چرا هرگز غمگین نمیشوی؟
گفت :دل برآنچه نمی ماند،نمی بندم.
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان