رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل با curl | Object moved
#1
سلام
من میخوام مثل سایت های دیگه که از سایت subscene رو بدون فیلتر بالا میارن این کار رو انجام بدم

اما موقع دانلود ارور Object moved to here رو میگرم

باید چیکار کنم؟
http://1o2.ir/uxmr4

<?php


if(isset($_GET['link'])) {
$endlink = $_GET['link'];
echo get("http://subscene.com/" . $endlink);

} 
else
echo get("http://subscene.com/");


function get($link) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt( $ch, CURLOPT_TIMEOUT, 10 ); // timeout
return $html =  curl_exec($ch);
curl_close($ch);
}
?>
پاسخ
تشکر شده توسط:
#2
FOLLOWLOCATION رو غیرفعال نکنید.
پاسخ
تشکر شده توسط: mohammadjavad
#3
FOLLOWLOCATION فعالش کردم الان میتونید ببینید
http://1o2.ir/uxmr4
میره صفحه اول سایت
پاسخ
تشکر شده توسط:
#4
این که صفحه اول نرفت و زیرنویسهای Mad Max: Fury Road رو آورد.
پاسخ
تشکر شده توسط: mohammadjavad
#5
درسته
شما رو دانلود کلیک کنید
وقتی رو دانلود کلیک کنید میره صفحه اول
اگر همFOLLOWLOCATION غیر فعال باشه ارور Object moved to here رو میگرم

مشکل من با دانلود کردن زیرنویسه
پاسخ
تشکر شده توسط:
#6
به گمانم فایل رو هم باید با cURL دانلود کنید. شاید هم سایت داره کوکی ست میکنه و شما هم برای دانلود باید با cURL کوکی رو بگیرین و بفرستین. این سایتها به دلیل آمار زیاد سرقت اطلاعات ازشون، دست کم یکی دو مورد امنیتی که اکثراً هم دور زدنشون ساده است، اعمال میکنن. باید به دقت هدرهایی که توی سایت اصلی مبادله میشه رو رصد کنید و مطابق همونها درخواستها رو با cURL بفرستین.
پاسخ
تشکر شده توسط: mohammadjavad
#7
الان این تغییرات رو انجام دادم
function right($url){
return str_replace("|","?",$url);
}

if(isset($_GET['link'])) {
$endlink = right($_GET['link']);
echo get("http://subscene.com/" . $endlink);

} 
else
echo get("http://subscene.com/");


function get($link) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $link);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0');
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt( $ch, CURLOPT_TIMEOUT, 10 ); // timeout
$html =  curl_exec($ch);
curl_close($ch);

return str_replace("?","|",$html);


}


وقتی رو دانلود کلیک کنین این هدر هم میاد
نقل قول:Content-Type: application/x-zip-compressed; charset=utf-8
این همون فایل zip میشه که  میخوام دانلود کنم؟ درسته؟
حالا چطوری هدر رو ست کنم که دانلود منیجر کاربر فایل zip رو دانلود کنه؟
پاسخ
تشکر شده توسط:
#8
هدر attachment رو ست کنید. ضمناً هیچ محتوای دیگری هم نباید برای کلاینت ارسال بشه. درمورد indirect download with PHP جستجو کنید.
پاسخ
تشکر شده توسط: mohammadjavad
#9
تونستم مشکل رو حل کنم


باید قبل از هدر از
       ob_start();

استفاده میکردم
پاسخ
تشکر شده توسط:
#10
سلام
از Mod Proxy آپاچی استفاده کنید.

http://httpd.apache.org/docs/2.2/mod/mod_proxy.html
پاسخ
تشکر شده توسط: cms
#11
سلام من منبع فارسی خوبی پیدا نکردم میشه خواهش کنم یه نفر یه مقدار توضیح بده
پاسخ
تشکر شده توسط:
#12
میشه کد کامل شده رو قرار بدید اخه هر کاری میکنم مشکل داره ...
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 3 مهمان