سلام نبی جان
دستت حسابی درد نکنه خیلی پروژه عالی هست.
البته من به صورت قانونی ازش استفاده میکنم و چون خونه اینترنت ندارم برای همین از دفتر فیلم ها را با اشتراک پولی دانلود میکنم ومیبرم خونه میبینم.
بعد چند ماه اومدم ازش استفاده کنم دیدم که جواب نمیده
برای همین چند تا تغییر دادم و دوباره راه افتاد.
اینجا تغییرات را مینویسم که بشه دوباره استفاده کرد.
اول اینکه صفحات نماوا کمپرس شده هست برای همین متد شما داده کد شده برمی گرداند
برای حل این مشکل درون تابع
get_content
باید یک آپشن به کرل اضافه کرد
curl_setopt($ch,CURLOPT_ENCODING , '');
با این کار به کرل میگیم که داده ها را خودش انکود کنه
بهتره همون اول ها این آپشن را بدیم
و اما اتفاق دیگه ای که افتاده این هست که نماوا
ffmpeg
را شناسایی میکنه و از کار میندازه
بررسی کردم دیدم از روی
user-agent
متوجه میشه
برای همین باید این پارامتر را در هدر درخواست
ffmpeg
تغییر بدیم
بنابرین آپشن زیر را باید به کامند اضافه کنیم
-user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
راستی یک مشکل دیگه هم که داشت این بود که کد زیر کار نمیکرد و لاگین شدن را تشخیص نمیداد
preg_match('/<span class="hidden-xs margin-left-5">\r\n(.*?)\r\n.*<\/span>/', $contents, $match);
برای همین من فعلا تغییرش دادم به کد زیر که جواب بده تا وقتی که درست بشه و یوزر نیم را بکشه بیرون
ممنون از لطفی که داری و باز ممنون از وقتی که در رفع ایرادات و توسعه به خرج دادی. :-)
پیشنهادم اینه که از پروژه کلون بگیری و تغییرات رو مستقیم در کدها بدی و یک Pull Request ثبت کنی تا بهتر بشه بررسیش کرد و من accept کنم تا تغییرات به اسم خودتون روی پروژه اضافه بشه.
سایر اشکالات احتمالی هم که ارتباط به هم ندارند رو اگر تحت یک issue مستقل مطرح کنی خیلی بهتره تا بشه مجزا پیگیری کرد و هر کدوم به نتیجه رسید close بشن.
سلام نبی جان دستت حسابی درد نکنه خیلی پروژه عالی هست. البته من به صورت قانونی ازش استفاده میکنم و چون خونه اینترنت ندارم برای همین از دفتر فیلم ها را با اشتراک پولی دانلود میکنم ومیبرم خونه میبینم.
بعد چند ماه اومدم ازش استفاده کنم دیدم که جواب نمیده برای همین چند تا تغییر دادم و دوباره راه افتاد.
اینجا تغییرات را مینویسم که بشه دوباره استفاده کرد.
اول اینکه صفحات نماوا کمپرس شده هست برای همین متد شما داده کد شده برمی گرداند برای حل این مشکل درون تابع get_content باید یک آپشن به کرل اضافه کرد
curl_setopt($ch,CURLOPT_ENCODING , '');
با این کار به کرل میگیم که داده ها را خودش انکود کنه بهتره همون اول ها این آپشن را بدیم
و اما اتفاق دیگه ای که افتاده این هست که نماوا ffmpeg را شناسایی میکنه و از کار میندازه بررسی کردم دیدم از روی user-agent متوجه میشه برای همین باید این پارامتر را در هدر درخواست ffmpeg تغییر بدیم بنابرین آپشن زیر را باید به کامند اضافه کنیم
-user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
بنابرین کامند نهایی ما چیزی شبیه به این میشه:
ffmpeg -user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" -i "URL" -c copy -y "download/FILENAME.mp4"</dev/null >/dev/null 2>"download/FILELOG.log" &
راستی یک مشکل دیگه هم که داشت این بود که کد زیر کار نمیکرد و لاگین شدن را تشخیص نمیداد
preg_match('/<span class="hidden-xs margin-left-5">\r\n(.*?)\r\n.*<\/span>/', $contents, $match);
برای همین من فعلا تغییرش دادم به کد زیر که جواب بده تا وقتی که درست بشه و یوزر نیم را بکشه بیرونpreg_match('/Authentication\/LogOut\//', $contents, $match);