من یه برنامه دارم ک باید لینک از سایت prefiles بگیره و لینک مستقیم رو بهم بده.
یوزر و پسورد سایت هم هست( منظورم اینکه قصد کرک و اینها رو ندارم.)
try
{
HttpWebRequest request = WebRequest.Create(url) as HttpWebRequest;
request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36";
request.CookieContainer = container;
using (HttpWebResponse response = request.GetResponse() as HttpWebResponse)
{
url = response.ResponseUri.AbsoluteUri;
}
}
اون container هم در کد، در واقع یه CookieGetter هست ک خودس یه تابع داره. نحوه کارش هم این هست که از طریق webbrower یه بار باهاش وارد سایت prefile میشم و لاگین می کنم ک بتونم کوکیش رو ذحیره کنم.
بعدم ک از طریق کد بالا url اولیه رو میدم تا لینک مستقیم رو بهم ببده.
از این کد برای سایت های مشابه استفاده کردم. ولی این سایت چون cloud flare داره نمیشه و در خط using دیگه ارور 503 بهم میده. با نرم افزار fiddler که چک کردم دیدم این خطا رو میده
<h1><span data-translate="checking_browser">Checking your browser before accessing</span> prefiles.com.</h1>
<p data-translate="process_is_automatic">This process is automatic. Your browser will redirect to your requested content shortly.</p>
<p data-translate="allow_5_secs">Please allow up to 5 seconds…</p>
چطوری می تونم از شر این cloud flare راحت بشم.
تو حالت عادی وقتی با کروم وارد سایت میشم. و بعد روی هر لینکی از prefiles کلیک می کنم. میری واسه دانلود با IDM (یعنی لینک مستقیم رو میده بهم)
ولی تو برنامه با اینکه user agent هم براش تعریف کردم، متوجه میشه ربات یا برنامه ست و این کلاد فلر بهم گیر میده!