نمایش نتایج 1 تا 4 از 4

نام تاپیک: مشکل در Curl

  1. #1

    Question مشکل در Curl

    سلام خدمت اساتید بزرگوار
    بنده تو استفاده از تابع Curl برای یک آدرس خاص مشکل دارم
    آدرس : http://mlsrums.ir/api.php
    حقیقت این که من میخام یه ربات تلگرام بنویسم اما خب مشکل ssl هست و ترجیح دادم سورس ربات روی heroku باشه اما برای ارتباط با پایگاه داده بوسیله PDO مثل این که heroku محدودیت داره
    ترجیح دادم ارتباط بگیرم با سایت اصلی یه جورایی به صورت مبتدی سوکت پروگرامینگ انجام بدم
    اما با وجود فعال بودن Curl نمیتونم با آدرس بالا کار کنم
    نمونه کد استفاده شده:

    $ur = "http://mlsrums.ir/api.php";
    $ch = curl_init($ur);
    curl_setopt($ch,CURLOPT_HEADER,0);
    curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    curl_setopt ( $ch, CURLOPT_CONNECTTIMEOUT, "0" );
    curl_setopt($ch,CURLOPT_AUTOREFERER,1);
    curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_COOKIESESSION, true);
    curl_setopt($ch,CURLOPT_USERAGENT,$_SERVER['HTTP_USER_AGENT']);
    $result = curl_exec($ch);
    print_r(curl_getinfo($ch));
    echo $result;


    ممنون میشم راهنمایی بفرمایید

  2. #2

    نقل قول: مشکل در Curl

    سلام

    با توجه به اینکه ربات باید با سرعت بالایی به درخواست ها پاسخ دهد تا دلیل مناسبی نداشته باشید بهتر است از یک سرور استفاده کنید.
    بهتر است مشکل اس اس ال را رفع کنید. حتی با استفاده از self signed ssl هم می توان از ربات تلگرام استفاده کرد.

    اما در مورد curl مشکلی در کدها وجود ندارد. خروجی یک سری کد جاوااسکریپت بر می گرداند. از این دستور در انتهای کدها استفاده کنید تا متن آن را مشاهده کنید:

    echo htmlspecialchars($result);

  3. #3

    نقل قول: مشکل در Curl

    ممنون از پاسختون
    اما از اونجایی که هاستم رایگانه هیچ جوره نتونستم ssl براش فعال کنم (با استفاده از sslforfree.com)
    خب من دو راه بیشتر ندارم
    1- استفاده از همین روش مبتدی برای ارتباط با دیتابیس
    2- این روش که فرمودید self signed ssl
    که خب تو روش اول من برای تست متن This is a TEST for curl رو قرار دادم ، اما نمی تونم دریافتش کنم.
    و تو روش دوم فک کنم باید دسترسی خاصی داشته باشم که برای هاست رایگان مقدور نیست

    به نظر شما چکار کنم؟؟؟

  4. #4

    نقل قول: مشکل در Curl

    نقل قول نوشته شده توسط saeedba مشاهده تاپیک
    ممنون از پاسختون
    اما از اونجایی که هاستم رایگانه هیچ جوره نتونستم ssl براش فعال کنم (با استفاده از sslforfree.com)
    خب من دو راه بیشتر ندارم
    1- استفاده از همین روش مبتدی برای ارتباط با دیتابیس
    2- این روش که فرمودید self signed ssl
    که خب تو روش اول من برای تست متن This is a TEST for curl رو قرار دادم ، اما نمی تونم دریافتش کنم.
    و تو روش دوم فک کنم باید دسترسی خاصی داشته باشم که برای هاست رایگان مقدور نیست

    به نظر شما چکار کنم؟؟؟
    خواهش می کنم. بسته به باری که روی ربات شماست توصیه می کنم از سرور اختصاصی(از ماهانه ۸۰۰ هزار تومن)، سرور مجازی (از ماهانه ۲۰۰ تومن) و یا هاست اشتراکی (از سالانه ۲۰۰ تومن) استفاده کنید و قید هاست های رایگان را بزنید. در هاست رایگان و اشتراکی میزان منابع سیستم بسیار محدود (بخصوص تعداد درخواست های ارسالی و دریافتی) است و ممکن است پاسخگوی نیازهای شما نباشد.

    اما در مورد مشکل سرور کنونی توجه داشته باشید که جهت جلوگیری از حملات DDOS روی سرور ماژول testcookie-nginx-module نصب شده است.(https://kyprizel.github.io/testcookie-nginx-module/) که با استفاده از جاوااسکریپت ابتدا یک کوکی با نام __test ایجاد می کند سپس کاربر را به صفحه مورد نظر ارجاع میدهد. می توانید با استفاده از developer tools مقدار کوکی مربوطه را یافته و در دستور زیر درج کنید. احتمال زیاد این کد وابسته به آیپی درخواست دهنده است بنابراین باید کوکی مخصوص سرور درخواست کننده را بدست آورید.


    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Cookie: __test=666666677eb8b8cd7deb42666665ca; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/"));


    جهت بدست آوردن کوکی مناسب سرور درخواست دهنده ابتدا کدهای خود را روی سرور اجرا کنید سپس ریسپانس را دریافت کرده و از درون آن مقادیر متغیرهای a , b , c را در کد زیر جایگزین کنید سپس کد زیر را در یک فایل html روی پی سی خود اجرا کنید مقداری که روی صفحه نمایش نشان میدهد همان کوکی مورد نظر است که با استفاده از curl باید ارسال شود لذا آن را جایگزین مقدار کوکی در قطعه کد بالا کنید.


    <html>

    <body>
    <script type="text/javascript" src="http://mlsrums.ir/aes.js"></script>
    <script>
    function toNumbers(d) {
    var e = [];
    d.replace(/(..)/g, function(d) {
    e.push(parseInt(d, 16))
    });
    return e
    }

    function toHex() {
    for (var d = [], d = 1 == arguments.length && arguments[0].constructor == Array ? arguments[0] : arguments, e = "", f = 0; f < d.length; f++) e += (16 > d[f] ? "0" : "") + d[f].toString(16);
    return e.toLowerCase()
    }
    var a = toNumbers("f655ba9d09a112d4968c63579db590b4"),
    b = toNumbers("98344c2eee86c3994890592585b49f80"),
    c = toNumbers("7777777a79d4855dba3e7777777");
    document.write("Cookie: __test=" + toHex(slowAES.decrypt(c, 2, a, b)) + "; expires=Thu, 31-Dec-37 23:55:55 GMT; path=/");
    </script>
    </body>

    </html>


    البته می توانید تمامی این موارد را بصورت خودکار نیز انجام دهید تنها کافیست از رمزنگاری AES نسخه php استفاده کنید و تمامی مراحل بالا که به جاوااسکریپت نوشته شده است را با استفاده از php انجام دهید.
    آخرین ویرایش به وسیله ali_sed : چهارشنبه 17 بهمن 1397 در 15:44 عصر

تاپیک های مشابه

  1. curl در سرور
    نوشته شده توسط olampiad در بخش PHP
    پاسخ: 1
    آخرین پست: جمعه 31 مرداد 1393, 13:48 عصر
  2. سوال: مشکل با ارسال فایل با CURL
    نوشته شده توسط Mr FTHEL در بخش PHP
    پاسخ: 5
    آخرین پست: سه شنبه 29 مرداد 1392, 01:55 صبح
  3. حرفه ای: مشکل با cURL
    نوشته شده توسط Hr.Ziggurat در بخش PHP
    پاسخ: 0
    آخرین پست: چهارشنبه 25 مرداد 1391, 07:47 صبح
  4. حرفه ای: كمك::: curl
    نوشته شده توسط ahora007 در بخش PHP
    پاسخ: 0
    آخرین پست: سه شنبه 24 مرداد 1391, 18:55 عصر
  5. سوال: curl
    نوشته شده توسط pat.mat71 در بخش PHP
    پاسخ: 8
    آخرین پست: پنج شنبه 17 فروردین 1391, 10:16 صبح

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

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