نمایش نتایج: از شماره 1 تا 13 , از مجموع 13
  1. #1
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts

    سوال در مورد تنظیمات پیشرفته cURL

    سلام
    برای یک ربات میخوام با استفاده از curl یک درخواست رو برای یک آدرس بفرستم اما نمی خوام منتظر جواب بمونه
    یعنی همین که درخواست به سرور هدف رسید برام بسه و نمی خوام منتظر جواب سرور بشم
    راه یا پیشنهاد یا هر نکته رو لازم دارم
    (نکته:چون به همراه در خواست با متد post دارم یک فایل رو میفرستم مجبورم از curl استفاده کنم)

  2. #2
    تاریخ عضویت
    Sep 2008
    محل سکونت
    X C O D E
    نوشته ها
    94
    تشکر از ارسال
    104
    Thanked 93 Times in 48 Posts
    اینو اضافه کن به کدت:
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

  3. 2کاربر از sin4.c0d3r به علت ارسالش تشکر کردند.

    HO5531N (02-17-2014),satlamerd (03-17-2014)

  4. #3
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    این باعث میشه که خروجی رو به از این طریق بشه گرفت
    $response = curl_exec($ch);
    اگرم false کنم باعث میشه نتیجه اوتوماتیک echo بشه
    با این نشده کارم

  5. #4
    تاریخ عضویت
    Jun 2010
    محل سکونت
    /root
    نوشته ها
    279
    تشکر از ارسال
    123
    Thanked 90 Times in 62 Posts
    من دنبالش بودم ولی نتونستم
    آخر رفتم سراغ exec(wget http://site.com/index.php?id=11111)
    البته اینم تست کن شاید کار کرد:
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'do_nothing');
    ویرایش توسط bersam : 02-18-2014 در ساعت 05:28 AM
    بنمای رخ که خلقی ، واله شوند و حیران

  6. کاربر زیر از bersam به علت ارسالش ابراز تشکر کرد.

    HO5531N (02-19-2014)

  7. #5
    تاریخ عضویت
    Feb 2009
    نوشته ها
    36
    تشکر از ارسال
    181
    Thanked 7 Times in 3 Posts

  8. کاربر زیر از NE0 به علت ارسالش ابراز تشکر کرد.

    HO5531N (02-19-2014)

  9. #6
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    نقل قول نوشته اصلی توسط bersam نمایش پست ها
    من دنبالش بودم ولی نتونستم
    آخر رفتم سراغ exec(wget http://site.com/index.php?id=11111)
    البته اینم تست کن شاید کار کرد:
    curl_setopt($ch, CURLOPT_WRITEFUNCTION, 'do_nothing');
    ممنون ولی کار نکرد
    چون مجبورم یک فایل رو با درخواست بفرستم نمی تونم از wget استفاده کنم

  10. #7
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    نقل قول نوشته اصلی توسط NE0 نمایش پست ها
    تاحالا با سوکت تو php کد ننوشتم ببینیم خدا چی می خواد آخرش.اگر کد آماده ایی که با سوکت کار کنه و بشه از متد پست هم یک فایل رو ارسال کنه پیدا کردید خبر بدید

  11. #8
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    نقل قول نوشته اصلی توسط NE0 نمایش پست ها
    تاحالا با سوکت تو php کد ننوشتم ببینیم خدا چی می خواد آخرش.اگر کد آماده ایی که با سوکت کار کنه و بشه از متد پست هم یک فایل رو ارسال کنه پیدا کردید خبر بدید

  12. #9
    تاریخ عضویت
    Feb 2009
    نوشته ها
    36
    تشکر از ارسال
    181
    Thanked 7 Times in 3 Posts
    کد PHP:
    function http_send($host$path$content)
    {
        
    $payload  "--000000\r\n";
        
    $payload .= "Content-Disposition: form-data; name=\"Filedata\"; filename=\"file.ext\"\r\n\r\n";
        
    $payload .= "$content\r\n";
        
    $payload .= "--000000--\r\n";
        
    $packet  "POST $path HTTP/1.0\r\n";
        
    $packet .= "Host: {$host}\r\n";
        
    $packet .= "Content-Length: ".strlen($payload)."\r\n";
        
    $packet .= "Content-Type: multipart/form-data; boundary=000000\r\n";
        
    $packet .= "Connection: close\r\n\r\n{$payload}";
        if (!(
    $sock fsockopen($host80))) die( "\n[-] No response from {$host}:80\n");
        
    fputs($sock$packet);

    اگر نتيجه رو هم خواستيد ميتونيد ازين استفاده کنيد

    کد PHP:
    return stream_get_contents($sock); 
    ویرایش توسط NE0 : 02-19-2014 در ساعت 08:20 AM

  13. کاربر زیر از NE0 به علت ارسالش ابراز تشکر کرد.

    HO5531N (02-19-2014)

  14. #10
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    ممنون اما تو این کد هیچ جاش $packet یا $payload رو ارسال نمی کنه که

  15. #11
    تاریخ عضویت
    Feb 2009
    نوشته ها
    36
    تشکر از ارسال
    181
    Thanked 7 Times in 3 Posts
    ببخشید بد cut کردم این خط جا موند
    کد PHP:
        fputs($sock$packet); 

  16. #12
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    راستش خیلی تغییرات توش دادم و کلا سعی کردم بهینه تر بشه اما تو بهترین حالتش 30 ثانیه از curl کند تر بود البته هیچ جور هم نتونستم فایلی رو ارسال کنم باهاش کدش رو میزارم شاید بدرد کسه دیگه ایی بخوره

    کد PHP:

    function http_send($host$path$content)
    {
        
    $addr gethostbyname($host);
        
        
    $client stream_socket_client("tcp://$addr:80"$errno$errorMessage);
        
        if (
    $client === false) {
            throw new 
    UnexpectedValueException("Failed to connect: $errorMessage");
        }
        
            
    $payload  "--000000\r\n";
            
    $payload .= "Content-Disposition: form-data; name=\"Filedata\"; filename=\"filename.txt\"\r\n\r\n";
            
    $payload .= "$content\r\n";
            
    $payload .= "--000000\r\n";
            
    $packet  "POST $path HTTP/1.1\r\n";
            
    $packet .= "Host: $host\r\n";
            
    $packet .= "Content-Type: multipart/form-data; boundary=--000000\r\n";
            
    $packet .= "Content-Length: ".strlen($payload)."\r\n";
            
    $packet .= "Connection: close\r\n\r\n{$payload}";
            
        
        
    fwrite($client,$packet);
        
    //echo stream_get_contents($client);
        
    fclose($client);



  17. #13
    تاریخ عضویت
    Jan 2009
    نوشته ها
    128
    تشکر از ارسال
    25
    Thanked 6 Times in 5 Posts
    از آموزش این لینک هم تو کد بالا استفاده کردم
    http://www.christophh.net/2012/07/24...et-programming

 

 

موضوعات مشابه

  1. پاسخ ها: 1
    آخرين نوشته: 02-18-2013, 11:53 PM

مجوز های ارسال و ویرایش

  • شما نمیتوانید موضوع جدیدی ارسال کنید
  • شما امکان ارسال پاسخ را ندارید
  • شما نمیتوانید فایل پیوست کنید.
  • شما نمیتوانید پست های خود را ویرایش کنید
  •