PDA

View Full Version : سوال: سوال نیمه تخصصی در مورد WEB Client



Farshid007
سه شنبه 23 فروردین 1390, 20:14 عصر
چرا این رشته خالی در میاد
System.Net.WebClient W1 = new System.Net.WebClient();
string HTMLCode = W1.DownloadString("http://sabina.persianblog.ir/post/16");
ولی این رشته پر از کد html
System.Net.WebClient W1 = new System.Net.WebClient();
string HTMLCode = W1.DownloadString("http://google.com");
می خوام فقط کد htmlرو در بیارم ولی این WebClient ما فقط سایت های مثل
barnamenevis.orgرو در میاره
راه دیگه ای نیست؟:گریه:
خواهش می کنم اگه بلدید بگید!

exlord
سه شنبه 23 فروردین 1390, 22:41 عصر
اون آدرس شما user friendly و احتمالا به صورت غیر استاندارد تو سرور redirect میشه .... و یا اینکه کلا webclient با این نوع آدرس ها مشکل داره ... دقیقا نمیدونم ...

public string DownloadWebPage(string Url)
{
// Open a connection
HttpWebRequest WebRequestObject = (HttpWebRequest)HttpWebRequest.Create(Url);

// You can also specify additional header values like
// the user agent or the referer:
WebRequestObject.UserAgent = ".NET Framework/2.0";
WebRequestObject.Referer = "http://www.example.com/";

// Request response:
WebResponse Response = WebRequestObject.GetResponse();

// Open data stream:
Stream WebStream = Response.GetResponseStream();

// Create reader object:
StreamReader Reader = new StreamReader(WebStream);

// Read the entire stream content:
string PageContent = Reader.ReadToEnd();

// Cleanup
Reader.Close();
WebStream.Close();
Response.Close();

return PageContent;
}

Farshid007
چهارشنبه 24 فروردین 1390, 14:46 عصر
اقا دستت درست
این دو خط چی هستند که همچی به اینا بستگی داره
webRequest1.UserAgent = ".NET Framework/2.0";
webRequest1.Referer = "http://www.mehrbox.ir";

exlord
چهارشنبه 24 فروردین 1390, 15:30 عصر
WebRequestObject.UserAgent = ".NET Framework/2.0";
ای خط به سرور میگه که کی یا چی داره به سرور درخواست صفحه رو میده ؟؟
این مقدار میتونه :
IE
Mozilla
Opera
Chrome
... و هر مقدار استاندارد دیگه ای باشه ...
WebRequestObject.Referer = "http://www.example.com/";
اینم به سرور میگه که درخواستت از کدوم سایت داره میاد ... فقط برا بدونه ...

هر دو اینا MetaTag هستن و در شرایط معمولی بود و نبودشون فرقی نمیکنه ...

momomomo
چهارشنبه 24 فروردین 1390, 16:16 عصر
با سلام خدمت دوستان من هم مشکل دوستمون رو دارم از کد شما استفاده کردم اما ممکنه بگید این کد در چه فضای نامی اجرا میشه چونمال من ارر گرفت

Farshid007
چهارشنبه 24 فروردین 1390, 22:02 عصر
با سلام خدمت دوستان من هم مشکل دوستمون رو دارم از کد شما استفاده کردم اما ممکنه بگید این کد در چه فضای نامی اجرا میشه چونمال من ارر گرفت
System.net

Farshid007
پنج شنبه 22 اردیبهشت 1390, 16:05 عصر
چرا وقتی که با این کد می خواهی سورس رو بدست بیاری فرم قفل میشه وnotRespondingمی ده مثل وقتی که حلقه های طولانی می دی؟
من از backgroundWorkerهم استفاده کردم ولی جواب نداد
فکر کنم باید ازtheartاستفاده کنم اما چجوری؟