مشکل در کار نکردن یک ربات
سلام دوستان
یک ربات هست که مطالب رو از سایتهای دیگه کپی میکنه
روی هاست دیگه بخوبی کار میکنه و مشکلی نداره
اما روی سرور خودم که سیپنل هست این خطای لاگ رو میده
[31-May-2017 06:12:03 America/Chicago] PHP Fatal error: Call to a member function find() on boolean in /home/tarahi/public_html/robat/reza.php on line 16
[31-May-2017 06:12:11 America/Chicago] PHP Warning: file_get_contents(..): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden
in /home/tarahi/public_html/robat/simple_html_dom.php on line 76
بازم میگم که روی سرور یا هاست دیگه کار میکنه اما نمیدونم سرور من چه چیزی کم داره
لفا راهنمایی کنید
پاسخ : مشکل در کار نکردن یک ربات
آیپی سرور در سایت مورد نظر بلاک شده
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
hamid53214
آیپی سرور در سایت مورد نظر بلاک شده
خوب با سایتهای دیگه هم تست کردم بازم خطا داره
یعنی شما میگی ای پی سرور من توی تمام سایتهای ایرانی بلاک شده ؟
پاسخ : مشکل در کار نکردن یک ربات
تابع هارو جدا گونه تست کنید ببینید ازچیه
پاسخ : مشکل در کار نکردن یک ربات
پاسخ : مشکل در کار نکردن یک ربات
سلام
به جای استفاده از file_get_contents با استفاده از cUrl به تلگرام درخواست ارسال کنید.
file_get_contents که استفاده کردید برای https بسته شده.
پاسخ : مشکل در کار نکردن یک ربات
تابع file_get_contents() احتمالا توی سرورتون مسدود شده یا اینکه ای پی سرورتون توسط سایت مقصد بلاک شده
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
safaeean
تابع file_get_contents() احتمالا توی سرورتون مسدود شده یا اینکه ای پی سرورتون توسط سایت مقصد بلاک شده
چطوری میتونم این تابع رو روی سرور فعال کنم ؟
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
biriyaa
چطوری میتونم این تابع رو روی سرور فعال کنم ؟
سلام،
می تونید با ini_set و یا خود فایل php.ini(اگر سرور مال خودتونه) فعالشون کنید.
همچنین دسترسی های فایل مورد نظر رو هم چک کنید... در ضمن باید از +PHP 4.3.x استفاده کنید.
اگر جواب نداد تابع رو شبه سازی کنید
پاسخ : مشکل در کار نکردن یک ربات
جای استفاده از file_get_contents از cURL استفاده کنید.
یک نمونه کد ساده رو براتون نوشتم:
کد:
<?php
$url = "https://api.telegram.org/token/method";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,true);
curl_setopt($ch,CURLOPT_POSTFIELDS,$datas);
$res = curl_exec($ch);
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
mr.jabbari
سلام،
می تونید با ini_set و یا خود فایل php.ini(اگر سرور مال خودتونه) فعالشون کنید.
همچنین دسترسی های فایل مورد نظر رو هم چک کنید... در ضمن باید از +PHP 4.3.x استفاده کنید.
اگر جواب نداد تابع رو شبه سازی کنید
ببخشید دوست عزیز روی سرور من الان php 5.6 نصبه چطوری میتونم php 4.3 نصب کنم.لطفا راهنمایی کنید و دستورات و امورش نصب رو بدین
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
biriyaa
ببخشید دوست عزیز روی سرور من الان php 5.6 نصبه چطوری میتونم php 4.3 نصب کنم.لطفا راهنمایی کنید و دستورات و امورش نصب رو بدین
کسی نیست راهنمایی کنه ؟
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
ببخشید دوست عزیز روی سرور من الان php 5.6 نصبه چطوری میتونم php 4.3 نصب کنم.لطفا راهنمایی کنید و دستورات و امورش نصب رو بدید
منظور ایشون دانگرید به PHP 4.3 نیست بلکه گفتند نسخه PHP شما باید بالاتر از 4.3 باشه مثل 5.6
در پاسخ 10 همین تاپیک عرض کردم خدمتتون که باید از cURL استفاده کنید.
در کتابخونه Simple HTML DOM parser که در این کد استفاده کردید، برای کار با وبسایت هایی که از پروتکل امن (https) استفاده میکنند استفاده از file_get_contents کار رو مختل میکنه.
یک مثال بر پایه cURL براتون نوشتم که میتونید امتحان کنید:
کد:
//base url
$base ='https://play.google.com/store/apps';
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER,false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl, CURLOPT_URL, $base);
curl_setopt($curl, CURLOPT_REFERER, $base);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$str = curl_exec($curl);
curl_close($curl);
// Create a DOM object
$html_base =new simple_html_dom();
// Load HTML from a string
$html_base->load($str);
//get all category links
foreach($html_base->find('a')as $element){
echo "<pre>";
print_r( $element->href );
echo "</pre>";
}
$html_base->clear();
unset($html_base);
+ بعضی وبسایت های از کوکی ها استفاده میکنند که باز شما رو به مشکل میندازه، در اون حالت میتونید با استفاده از User Agent مانند یک کاربر واقعی عمل کنید و از این وبسایت ها هم اطلاعات استخراج کنید.
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
realAmir
منظور ایشون دانگرید به PHP 4.3 نیست بلکه گفتند نسخه PHP شما باید بالاتر از 4.3 باشه مثل 5.6
در پاسخ 10 همین تاپیک عرض کردم خدمتتون که باید از cURL استفاده کنید.
در کتابخونه Simple HTML DOM parser که در این کد استفاده کردید، برای کار با وبسایت هایی که از پروتکل امن (https) استفاده میکنند استفاده از file_get_contents کار رو مختل میکنه.
یک مثال بر پایه cURL براتون نوشتم که میتونید امتحان کنید:
کد:
//base url
$base ='https://play.google.com/store/apps';
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($curl, CURLOPT_HEADER,false);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION,true);
curl_setopt($curl, CURLOPT_URL, $base);
curl_setopt($curl, CURLOPT_REFERER, $base);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
$str = curl_exec($curl);
curl_close($curl);
// Create a DOM object
$html_base =new simple_html_dom();
// Load HTML from a string
$html_base->load($str);
//get all category links
foreach($html_base->find('a')as $element){
echo "<pre>";
print_r( $element->href );
echo "</pre>";
}
$html_base->clear();
unset($html_base);
+ بعضی وبسایت های از کوکی ها استفاده میکنند که باز شما رو به مشکل میندازه، در اون حالت میتونید با استفاده از User Agent مانند یک کاربر واقعی عمل کنید و از این وبسایت ها هم اطلاعات استخراج کنید.
دوست عزیز من ابتدای فروم گفتم که دقیقا همین ربات با همین سایت داره روی سرور دیگه ای کار میکنه و مشکلی نداره و روی سرور بنده کار نمیکنه.این یعنی کدها درسته و 100 درصد مشکل از سرور بنده هست واسه همین میخوام مشکل رو روی سرورم حل کنم نه با تغییر کد ربات
اینو ببنید روی سروری هست که کار میکنه http://imoghan.ir/robat/reza.php
این دقیقا همونه روی سرور من که خطا میده http://robotfilm.tk/robat2/reza.php
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
biriyaa
دوست عزیز من ابتدای فروم گفتم که دقیقا همین ربات با همین سایت داره روی سرور دیگه ای کار میکنه و مشکلی نداره و روی سرور بنده کار نمیکنه.این یعنی کدها درسته و 100 درصد مشکل از سرور بنده هست واسه همین میخوام مشکل رو روی سرورم حل کنم نه با تغییر کد ربات
اینو ببنید روی سروری هست که کار میکنه
http://imoghan.ir/robat/reza.php
این دقیقا همونه روی سرور من که خطا میده
http://robotfilm.tk/robat2/reza.php
سلام وقت بخیر
عزیز قرار نیست همه کد ها در همه سرورها کار کنه ، کانفیگ سرور ها با هم فرق داره یا باید دسترسی به سرور داشته باشید و مشکل رو رفع کنید با با استفاده از curl و تغییر کد ها مشکل رو رفع کنید. :53:
پاسخ : مشکل در کار نکردن یک ربات
نقل قول:
نوشته اصلی توسط
biriyaa
دوست عزیز من ابتدای فروم گفتم که دقیقا همین ربات با همین سایت داره روی سرور دیگه ای کار میکنه و مشکلی نداره و روی سرور بنده کار نمیکنه.این یعنی کدها درسته و 100 درصد مشکل از سرور بنده هست واسه همین میخوام مشکل رو روی سرورم حل کنم نه با تغییر کد ربات
اینو ببنید روی سروری هست که کار میکنه
http://imoghan.ir/robat/reza.php
این دقیقا همونه روی سرور من که خطا میده
http://robotfilm.tk/robat2/reza.php
عرض کردم خدمتتون، تست کنید روش های مختلفی رو اگر نمیدونید دقیقا مشکل از کدوم تابع یا قسمت و به چه علت ایجاد شده.
براتون دو نمونه مختلف cURL گذاشتم که تست کنید.
همینطور که @omid1991 هم گفتند کانفیگ هر سرور متفاوت هستش.