النتائج 1 إلى 6 من 6

الموضوع: تسجيل الدخول للهوت فايل وتنزيل ملفات

  1. #1
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600

    تسجيل الدخول للهوت فايل وتنزيل ملفات



    السلام عليكم

    ربما يكون الموضوع قديم نوعًا ما لكن لا مانع من تنشيط الذاكرة

    كتبت دالتين للتعامل مع موقع الهوت فايل ، ومن الممكن ان تستعملهما مع مواقع اخرى
    بنفس الطريقة تقريبًا اذ ان المبدا واحد

    الدالة الأولى تقوم بتسجيل الدخول إلى الموقع وتحفظ لنا الكوكي في ملف منفصل
    والثانية تستعمل الكوكي لتسجيل الدخول إلى الموقع ثم تقوم بتنزيل الملف من الموقع


    طبعًا هنا مطلوب حساب مدفوع في الهوت فايل حتى تتمكن من سحب الملفات

    الدالة الأولى:
    كود PHP:
    function getCookie($url,$data)
    {
         
    $ch curl_init();  
            
    curl_setopt($chCURLOPT_URL$url); 
            
    curl_setopt($chCURLOPT_POSTFIELDS    ,http_build_query($data));
            
    curl_setopt($chCURLOPT_HEADERfalse);   
            
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");     
            
    curl_setopt($chCURLOPT_COOKIEJARCPATH);     
            
    curl_setopt($chCURLOPT_COOKIEFILECPATH);       
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
           
           
    $result =  curl_exec ($ch); 
           
    curl_close($ch);
         

    الدالة الثانية:
    كود PHP:
    function download($url)
    {
     
    $ch curl_init();  
            
    curl_setopt($chCURLOPT_URL$url); 
            
    curl_setopt($chCURLOPT_HEADERfalse);   
            
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");     
            
    curl_setopt($chCURLOPT_COOKIEJARCPATH);     
            
    curl_setopt($chCURLOPT_COOKIEFILECPATH);       
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($chCURLOPT_FOLLOWLOCATION,TRUE);

           
           
    $result =  curl_exec ($ch); 
           
    curl_close($ch);
          
           
    file_put_contents(str_replace(".html","",basename($url)), $result);


    شرح قصير:

    نستعمل مكتبة curl لانجاز الامر، إذ انها تمتاز بالمقدرة على حفظ الكوكيز المرجعة من الطلب، مما يعطي افضل محاكاة للمتصفح، خصوصًا انه عندما ننزل الملف لن نحتاج
    لتسجيل الدخول من جديد بل نستخدم الكوكيز.

    في الدالة الأولى نرسل اسم المستخدم وكلمة المرور بطلب post إلى صفحة التسجيل


    هذان السطرين مسؤولان عن حفظ واسترجاع الكوكيز

    كود PHP:
    curl_setopt($chCURLOPT_COOKIEJARCPATH);     
            
    curl_setopt($chCURLOPT_COOKIEFILECPATH); 
    هذا البارمتر مهم جدًا اذ انه يخبر curl بأننا لا نريد إرجاع الهيدر مع النتيجة
    إذ ان طباعة الهيدر داخل الملف خصوصًا لو كان صورة أو فيديو من شأنها اتلاف الملف
    لأنه يحوي معلومات ليست لها علاقة بالملف نفسه.
    كود PHP:
         curl_setopt($chCURLOPT_HEADERfalse); 
    الامر الأول يطلب من ال curl ارجاع النتيجة على شكل نص لمتغير، اذ ان الاجراء الافتراضي هو طباعة النتيجة على الصفحة.
    الثاني يفعّل عملية اعادة التحويل .


    كود PHP:
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($chCURLOPT_FOLLOWLOCATION,TRUE); 
    السكربت كامل:
    كود PHP:
    <?php

    $usr 
    "hotfile_user";
    $pwd "hotfile_pwd";
    $login_url "http://hotfile.com/login.php";


    define("CPATH",dirname(__FILE__)."/cookie.txt");
    $target "http://hotfile.com/dl/101287447/6dd0072/allah.jpg.html";

    $credit = array('user'=>$usr,'pass'=>$pwd,'returnto'=>'2%F',''=>'login');


    if (!
    file_exists(CPATH))
    getCookie($login_url,$credit);

    download($target);

    function 
    getCookie($url,$data)
    {
         
    $ch curl_init();  
            
    curl_setopt($chCURLOPT_URL$url); 
            
    curl_setopt($chCURLOPT_POSTFIELDS    ,http_build_query($data));
            
    curl_setopt($chCURLOPT_HEADERfalse);   
            
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");     
            
    curl_setopt($chCURLOPT_COOKIEJARCPATH);     
            
    curl_setopt($chCURLOPT_COOKIEFILECPATH);       
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
           
           
    $result =  curl_exec ($ch); 
           
    curl_close($ch);
           
          

    }
    function 
    download($url)
    {
     
    $ch curl_init();  
            
    curl_setopt($chCURLOPT_URL$url); 
            
    curl_setopt($chCURLOPT_HEADERfalse);   
            
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");     
            
    curl_setopt($chCURLOPT_COOKIEJARCPATH);     
            
    curl_setopt($chCURLOPT_COOKIEFILECPATH);       
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($chCURLOPT_FOLLOWLOCATION,TRUE);

           
           
    $result =  curl_exec ($ch); 
           
    curl_close($ch);
          
           
    file_put_contents(str_replace(".html","",basename($url)), $result);

    }

    ?>
    طبعًا انتم تعلمون ان وقت تنفيذ الphp محدود (30 ثانية غالبًا)
    يمكن استعمال الدالة التالية لتطويل وقت التنفيذ(عند الملفات الكبيرة)
    http://php.net/manual/en/function.set-time-limit.php

    هذه الطريقة ليست الأفضل لكنها تعمل جيدًا

    تحياتي





    التعديل الأخير تم بواسطة ahmad sadiq ; 03-02-2011 الساعة 09:36 PM


  2. #2
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    هذا كتاب يشرح سحب المحتوى عن طريق ال php
    http://hotfile.com/dl/92107502/45ab7...twswp.rar.html





    التعديل الأخير تم بواسطة ahmad sadiq ; 04-02-2011 الساعة 11:35 AM

  3. #3


    دالة خرافية صراحة ،

    ولو امكنك تعمل منها للرابيد شير !

    اقدر اقولك تقدر تبدأ مشروع قوي جدا بهذه الفكرة ، الصراحة الفكرة عندي لكن طريقة التنفيذ كانت غير موضحة ، حيث ان بعض المراكز قد لا تمشي معها مثل هذا !

    تحياتي لك وسيتم التجريب ان شاء الله





    __________________
    زورونا في موقع الحياة للنقاشات والأسئلة والأجوبة :
    - php >> وهو لحل مشاكل php وما حولها
    - Ideas >> وهو لعرض الأفكار وتقييمها وايضا لمناقشة الأفكار

  4. #4
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    اعتقد انها تنفع مع اغلب مواقع التحميل
    لأنها تدعم مسرعات التحميل مثل ال IDM
    الذي تدخل له اسم المستخدم وكلمة المرور في اعدادات البرنامج

    وهو يقوم بتسجيل الدخول اليًا

    بالنسبة للرابيد شير عملتها عندما كان عندي حساب عليه
    لكن كنت وقتها على الابونتو لذا استخدمت wget كما في هذا الموضوع
    http://www.g-loaded.eu/2007/09/15/us...share-premium/
    لكن المبدأ واحد

    اذا كنت تفكر في عمل موقع يجمع بين اشتراكات عدة مواقع بحيث يدفع المستخدم لحساب واحد
    ويحصل على امكانية تنزيل من عدة مراكز تحميل
    فلا انصحك بذلك:
    1) العديد من المواقع مثل الهوت فايل تمنع استخدام بوتات\سكربتات للتنزيل من موقعها
    يعني الامر غير قانوني.
    2) الضغط على موقعك سيكون كبير من ناحية الباندويث لذلك ادرس الامر جيدًا
    + سرعة التنزيل سوف تتأثر بكثرة المستخدمين






  5. #5
    عضو فعال
    تاريخ التسجيل
    Feb 2008
    المشاركات
    1,628


    بصراحة انا لست مبرمج ولم افهم الا القليل لكن دخلت لاكرك فانت حقا استاذ تفيد الكل بلا مقابل

    جزاك الله خير





    __________________
    لا سامح الله من ظلمني
    تم بيع الموقع
    العاب
    لعبتي

  6. #6
    عضو فعال
    تاريخ التسجيل
    Jun 2008
    المشاركات
    1,600


    بصراحة انا لست مبرمج ولم افهم الا القليل لكن دخلت لاكرك فانت حقا استاذ تفيد الكل بلا مقابل

    جزاك الله خير

    تسلم حبيبي

    واحنا في خدمة الأوادم










ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض