PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : مشکل در کار نکردن یک ربات



biriyaa
May 31st, 2017, 15:45
سلام دوستان
یک ربات هست که مطالب رو از سایتهای دیگه کپی میکنه
روی هاست دیگه بخوبی کار میکنه و مشکلی نداره
اما روی سرور خودم که سیپنل هست این خطای لاگ رو میده
[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
May 31st, 2017, 16:20
آیپی سرور در سایت مورد نظر بلاک شده

biriyaa
May 31st, 2017, 16:23
آیپی سرور در سایت مورد نظر بلاک شده
خوب با سایتهای دیگه هم تست کردم بازم خطا داره
یعنی شما میگی ای پی سرور من توی تمام سایتهای ایرانی بلاک شده ؟

miladtnt
May 31st, 2017, 16:37
تابع هارو جدا گونه تست کنید ببینید ازچیه

hamid53214
May 31st, 2017, 18:00
با
curl تست کنید

shahinmq
May 31st, 2017, 21:58
سلام

به جای استفاده از file_get_contents با استفاده از cUrl به تلگرام درخواست ارسال کنید.

file_get_contents که استفاده کردید برای https بسته شده.

safaeean
May 31st, 2017, 22:40
تابع file_get_contents() احتمالا توی سرورتون مسدود شده یا اینکه ای پی سرورتون توسط سایت مقصد بلاک شده

biriyaa
June 3rd, 2017, 01:46
تابع file_get_contents() احتمالا توی سرورتون مسدود شده یا اینکه ای پی سرورتون توسط سایت مقصد بلاک شده


چطوری میتونم این تابع رو روی سرور فعال کنم ؟

mr.jabbari
June 3rd, 2017, 03:21
چطوری میتونم این تابع رو روی سرور فعال کنم ؟



سلام،
می تونید با ini_set و یا خود فایل php.ini(اگر سرور مال خودتونه) فعالشون کنید.
همچنین دسترسی های فایل مورد نظر رو هم چک کنید... در ضمن باید از +PHP 4.3.x استفاده کنید.
اگر جواب نداد تابع رو شبه سازی کنید

realAmir
June 3rd, 2017, 19:58
جای استفاده از 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);

biriyaa
June 4th, 2017, 03:53
سلام،
می تونید با ini_set و یا خود فایل php.ini(اگر سرور مال خودتونه) فعالشون کنید.
همچنین دسترسی های فایل مورد نظر رو هم چک کنید... در ضمن باید از +PHP 4.3.x استفاده کنید.
اگر جواب نداد تابع رو شبه سازی کنید



ببخشید دوست عزیز روی سرور من الان php 5.6 نصبه چطوری میتونم php 4.3 نصب کنم.لطفا راهنمایی کنید و دستورات و امورش نصب رو بدین

biriyaa
June 4th, 2017, 16:26
ببخشید دوست عزیز روی سرور من الان php 5.6 نصبه چطوری میتونم php 4.3 نصب کنم.لطفا راهنمایی کنید و دستورات و امورش نصب رو بدین

کسی نیست راهنمایی کنه ؟

realAmir
June 5th, 2017, 15:31
ببخشید دوست عزیز روی سرور من الان 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 مانند یک کاربر واقعی عمل کنید و از این وبسایت ها هم اطلاعات استخراج کنید.

biriyaa
June 6th, 2017, 01:40
منظور ایشون دانگرید به 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

omid1991
June 6th, 2017, 08:15
دوست عزیز من ابتدای فروم گفتم که دقیقا همین ربات با همین سایت داره روی سرور دیگه ای کار میکنه و مشکلی نداره و روی سرور بنده کار نمیکنه.این یعنی کدها درسته و 100 درصد مشکل از سرور بنده هست واسه همین میخوام مشکل رو روی سرورم حل کنم نه با تغییر کد ربات

اینو ببنید روی سروری هست که کار میکنه http://imoghan.ir/robat/reza.php
این دقیقا همونه روی سرور من که خطا میده http://robotfilm.tk/robat2/reza.php

سلام وقت بخیر
عزیز قرار نیست همه کد ها در همه سرورها کار کنه ، کانفیگ سرور ها با هم فرق داره یا باید دسترسی به سرور داشته باشید و مشکل رو رفع کنید با با استفاده از curl و تغییر کد ها مشکل رو رفع کنید. :53:

realAmir
June 6th, 2017, 12:54
دوست عزیز من ابتدای فروم گفتم که دقیقا همین ربات با همین سایت داره روی سرور دیگه ای کار میکنه و مشکلی نداره و روی سرور بنده کار نمیکنه.این یعنی کدها درسته و 100 درصد مشکل از سرور بنده هست واسه همین میخوام مشکل رو روی سرورم حل کنم نه با تغییر کد ربات

اینو ببنید روی سروری هست که کار میکنه http://imoghan.ir/robat/reza.php
این دقیقا همونه روی سرور من که خطا میده http://robotfilm.tk/robat2/reza.php
عرض کردم خدمتتون، تست کنید روش های مختلفی رو اگر نمیدونید دقیقا مشکل از کدوم تابع یا قسمت و به چه علت ایجاد شده.
براتون دو نمونه مختلف cURL گذاشتم که تست کنید.
همینطور که @omid1991 (http://www.webhostingtalk.ir/member.php?u=84707) هم گفتند کانفیگ هر سرور متفاوت هستش.