PDA

View Full Version : جلوگیری از خطای 503 Service Unavailable



hamidhws
دوشنبه 13 آذر 1391, 10:39 صبح
سلام دوستان

من با استفاده از کد زیر سورس سایت گوگل رو میگیرم :

string html;
HttpWebRequest webRequest;
HttpWebResponse webResponse;
webRequest = (HttpWebRequest)WebRequest.Create("http://www.google.com/search?q=test");
webRequest.Method = "Get";
webResponse = (HttpWebResponse)webRequest.GetResponse();
Encoding encoding = Encoding.GetEncoding(webResponse.CharacterSet);
using (Stream strmresponse = webResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(strmresponse, encoding))
{
html = reader.ReadToEnd();
}
}


همه چی بدون مشکل کار میکنه اما اگه درخواست ها زیاد بشه گوگل منو بلاک میکنه (خطای 503 Service Unavailable) . میخواستم بدونم چیکار کنم که گوگل منو بلاک نکنه؟

با تشکر

fakhravari
دوشنبه 13 آذر 1391, 10:59 صبح
عزیز دل چرا بلوکت کنه.؟؟؟
string txt = "محمد حسین فخراوری";

string html;
HttpWebRequest webRequest;
HttpWebResponse webResponse;
webRequest = (HttpWebRequest)WebRequest.Create("http://www.google.com/search?q=" + txt);
webRequest.Method = "Get";
webResponse = (HttpWebResponse)webRequest.GetResponse();
Encoding encoding = Encoding.GetEncoding(webResponse.CharacterSet);
using (Stream strmresponse = webResponse.GetResponseStream())
{
using (StreamReader reader = new StreamReader(strmresponse, encoding))
{
html = reader.ReadToEnd();
}
}

hamidhws
دوشنبه 13 آذر 1391, 16:37 عصر
عزیز دل چرا بلوکت کنه.؟؟؟
فکر کنم بخاطر سیستم anti robot گوگل باشه . وقتی تعداد دستورات از یک سیستم زیاد میشه (مثلا 10 درخواست در ثانیه) اینطوری میفهمه که اون کسی که دستور رو فرستاده انسان نیست و اجازه دسترسی بهش نمیده.فقط چیزی که هنوز نمیدونم اینه که گوگل آی پی سیستم خاطی رو میگیره یا ادرس دامنه ی اون سرور رو بلاک میکنه.اگر مورد اول باشه که شاید بشه مشکلو حل کرد (درخواست ها از سمت کلاینت ارسال بشه) اما در مورد دوم هنوز نظری ندارم.
(البته شک دارم بخاطر anti robot باشه چون برای اون از کپچا استفاده میکنه . فکر کنم این سیستم برای جلوگیری از down شدن سرور گوگل هست که جلوی درخواست های اینطوری رو میگیره)

اگه راه حلی به نظرتون میرسه ممنون میشم راهنمایی کنید


با تشکر

hamidhws
سه شنبه 14 آذر 1391, 13:10 عصر
کسی از دوستان راه حلی نداره؟

malloc
سه شنبه 14 آذر 1391, 13:35 عصر
دوست عزیز من جوابی ندارم اما یه سوال دارم . اینی که میگی گوگل رو میخونم یعنی چیکارش میکنی . میشه یکم توضیح بدی؟:متفکر: من حرفه ای نیستم

hamidhws
سه شنبه 14 آذر 1391, 17:35 عصر
دوست عزیز من جوابی ندارم اما یه سوال دارم . اینی که میگی گوگل رو میخونم یعنی چیکارش میکنی . میشه یکم توضیح بدی؟:متفکر: من حرفه ای نیستم
یه متنی رو با جستجوگر گوگل جستجو میکنم و نتیجه رو (سورس نتایج از سایت گوکل) به عنوان ورودی در اختیار یک بخش از برنامم قرار میدم و مابقی قضایا ...

fakhravari
سه شنبه 14 آذر 1391, 19:55 عصر
اون لینکی که در پست 2 گزاشتم ببین.
انگار اتوماتیک برسی میکنه.
متاسفانه وقت برسی نداشتم.

hamidhws
چهارشنبه 15 آذر 1391, 06:15 صبح
اون لینکی که در پست 2 گزاشتم ببین.
کدام لینک؟!

fakhravari
چهارشنبه 15 آذر 1391, 09:38 صبح
ببخشین پست جا به جا جواب دادم.