PDA

View Full Version : ارسال درخواست با استفاده از کلاس Web Request برای یک سایت محافظت شده



gabrieleb
شنبه 23 اسفند 1393, 09:19 صبح
سلام دوستان امیدوارم که حالتون خوب باشه . یک سایت هست که با استفاده از Forms Authentication محافظت شده است و باید برای ورود از UserName و Password استفاده کرد . سایت با استفاده از تکنولوژی ASP.NET Web Form طراحی شده . و در اون برای عمل جستجو از کنترل UpdatePanel استفاده شده و فقط قسمتی از فرم بروزرسانی میشه . عمل جستجو به طور خلاصه یک شماره همراه می گیره و یک سری اطلاعات رو بر میگرددنه.من در رابطه با Login کردن مشکلی ندارم چونکه با کنترل Web Browser عمل ورود رو انجام میدم و مشخصات Cookie که در Web Browser ذخیره میشه رو به این کلاس(HttpWebRequest) میدم و مشکلی از این بابت نیست.

عمل ارسال درخواست Ajax که از طریق همون Updane Panel به سرور ارسال میشه به صورت زیر هست :

Remote Address:10.1.39.40:80Request URL:http://10.1.39.40/Postpaid/ReportViewMobbileFileInfo.aspx
Request Method:POST
Status Code:200 OK
Response Headers
view source
Cache-Control:private
Content-Length:31081
Content-Type:text/plain; charset=utf-8
Date:Fri, 13 Mar 2015 19:13:01 GMT
Server:Microsoft-IIS/6.0
X-AspNet-Version:2.0.50727
X-Powered-By:ASP.NET


Request Headers
view source
Accept:*/*
Accept-Encoding:gzip, deflate
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Content-Length:6469
Content-Type:application/x-www-form-urlencoded; charset=UTF-8
Cookie:ASP.NET_SessionId=oge3gn555t5zz145ybtxbzyd
Host:10.1.39.40
Origin:http://10.1.39.40
Referer:http://10.1.39.40/Postpaid/ReportViewMobbileFileInfo.aspx
User-Agent:Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36
X-MicrosoftAjax:Delta=true


Form Data
view source
view URL encoded
ctl00$ContentPlaceHolder1$ScriptManager1:ctl00$Con tentPlaceHolder1$UpdatePanel1|ctl00$ContentPlaceHo lder1$MobileFileInfo1$SearchImgBtn
ctl00$ContentPlaceHolder1$MobileFileInfo1$CodeFiel d:5250050
ctl00$ContentPlaceHolder1$MobileFileInfo1$SearchTx t:9169632029
ctl00$ContentPlaceHolder1$MobileFileInfo1$MeliatDd l:0
ctl00$ContentPlaceHolder1$MobileFileInfo1$txtNatio nalityID:4859672607
ctl00$ContentPlaceHolder1$txtPreIC:
ctl00$ContentPlaceHolder1$txtPostIC:
ctl00$ContentPlaceHolder1$Text2:
__LASTFOCUS:
__EVENTTARGET:
__EVENTARGUMENT:
__VIEWSTATE:/wEPDwUKLTQ1NDc0NjQzNw9kFgJmD2QWAgIDD2QWDgIBDw8WAh4 EVGV4dAUKMTM5My8xMi8yMmRkAgMPDxYCHwAFEdmG2LPYrtmHI DMuNi4xNS4xZGQCBQ8PFgIfAAUONTQ2NDMgRUJSQUhJTUlkZAI JD2QWBAIBDzwrAAkBAA8WBh4NU2VsZWN0ZWRJbmRleGYeCERhd GFLZXlzFgAeC18hSXRlbUNvdW50AgdkFg5mD2QWBGYPFQEDOTA wZAIBD2QWAmYPFQEh2KfZhdmI2LEg2YXYtNiq2LHaqdmK2YYg2 YLYt9i52YogZAICD2QWBGYPFQEDOTIwZAIBDw8WBh8ABSvYrti v2YXYp9iqINio2LHZiNiyINiq2YTZgdmGINin2LnYqtio2KfYs dmKHg9Db21tYW5kQXJndW1lbnQFAzkyMB4LQ29tbWFuZE5hbWU FATJkZAIED2QWBGYPFQEDOTA1ZAIBDw8WBh8ABSXYp9mF2YjYs SDYrtiv2YXYp9iqINi12YjYsdiq2K3Ys9in2KggHwQFAzkwNR8 FBQEzZGQCBg9kFgRmDxUBAzkzMGQCAQ8PFgYfAAUf2KvYqNiqI NmG2KfZhSDZiCDZiNin2q/YsNin2LHZih8EBQM5MzAfBQUBNGRkAggPZBYEZg8VAQM5MTBkA gEPDxYGHwAFC9qv2LLYp9ix2LQgHwQFAzkxMB8FBQE1ZGQCCg9 kFgRmDxUBAzkyNWQCAQ8PFgYfAAUi2q/Ystin2LHYtCDYqtmE2YHZhiDYp9i52KrYqNin2LHZih8EBQM5M jUfBQUBNmRkAgwPZBYEZg8VAQM5MTVkAgEPDxYGHwAFDNix2Kf Zh9io2LHZih8EBQM5MTUfBQUBN2RkAgMPPCsACQEADxYGHwFmH wIWAB8DAg1kFhpmD2QWAgIBD2QWAmYPFQER2YXYtNiu2LXYp9i qINiu2LdkAgEPZBYCAgEPDxYEHwUFPtiq2YLYp9i22KfZiiDYq ti52YjZiti2INiz2YrZhSDZg9in2LHYqiDYrtix2KfYqC/ZhdmB2YLZiNiv2YogHwQFBTkwMDAwZBYCZg8VAT7YqtmC2KfYt tin2Yog2KrYudmI2YrYtiDYs9mK2YUg2YPYp9ix2Kog2K7Ysdi n2Kgv2YXZgdmC2YjYr9mKIGQCAg9kFgICAQ8PFgQfBQUj2KrZg tin2LbYp9mKINin2LXZhNin2K0g2YbYtNin2YbZiiAfBAUFOTA wMDVkFgJmDxUBI9iq2YLYp9i22KfZiiDYp9i12YTYp9itINmG2 LTYp9mG2YogZAIDD2QWAgIBDw8WBB8FBSPYqtmC2KfYttin2Yo g2KrYutmK2YrYsSDZhti02KfZhtmKIB8EBQU5MDAxMGQWAmYPF QEj2KrZgtin2LbYp9mKINiq2LrZitmK2LEg2YbYtNin2YbZiiB kAgQPZBYCAgEPDxYEHwUFRdiq2YLYp9i22KfZiiDYqti62YrZi tixINmG2KfZhSAo2YXYs9iq2YLZitmFINmIINi62YrYsSDZhdi z2KrZgtmK2YUpIB8EBQU5MDAxNWQWAmYPFQFF2KrZgtin2LbYp 9mKINiq2LrZitmK2LEg2YbYp9mFICjZhdiz2KrZgtmK2YUg2Yg g2LrZitixINmF2LPYqtmC2YrZhSkgZAIFD2QWAgIBDw8WBB8FB TrYqti62YrZitixINmG2KfZhSDYs9mK2YXaqdin2LHYqiDYrti n2YbZiNin2K/Zhy/Yr9in2KbZhdmKHwQFBTkwMDcwZBYCZg8VATrYqti62YrZitixI NmG2KfZhSDYs9mK2YXaqdin2LHYqiDYrtin2YbZiNin2K/Zhy/Yr9in2KbZhdmKZAIGD2QWAgIBDw8WBB8FBT7Yqti62YrZitixI NmG2KfZhSDYs9mK2YXaqdin2LHYqiDYrtin2YbZiNin2K/Zhy/Yp9i52KrYqNin2LHZih8EBQY5MDAxMDBkFgJmDxUBPtiq2LrZi tmK2LEg2YbYp9mFINiz2YrZhdqp2KfYsdiqINiu2KfZhtmI2Kf Yr9mHL9in2LnYqtio2KfYsdmKZAIHD2QWAgIBDw8WBB8FBS3Yq tmC2KfYttin2Yog2YLYt9i5INmIINmI2LXZhCDahtmG2K/ar9in2YbZhyAfBAUFOTAwMjVkFgJmDxUBLdiq2YLYp9i22KfZi iDZgti32Lkg2Ygg2YjYtdmEINqG2YbYr9qv2KfZhtmHIGQCCA9 kFgICAQ8PFgQfBQUc2KrZgtin2LbYp9mKINmI2LXZhCDYqNiv2 YfZih8EBQU5MDAyNmQWAmYPFQEc2KrZgtin2LbYp9mKINmI2LX ZhCDYqNiv2YfZimQCCQ9kFgICAQ8PFgQfBQVK2KvYqNiqINm+2 KfYs9iuINin2LPYqti52YTYp9mFINiq2LrZitmK2LHZhtin2YU g2Yjaqdin2YTYqtmKINio2Ycg2YLYt9i52YofBAUFOTAwMzVkF gJmDxUBStir2KjYqiDZvtin2LPYriDYp9iz2KrYudmE2KfZhSD Yqti62YrZitix2YbYp9mFINmI2qnYp9mE2KrZiiDYqNmHINmC2 LfYudmKZAIKD2QWAgIBDw8WBB8FBS7ZiNin2q/YsNin2LHZiiDYs9mK2YUg2qnYp9ix2Kog2YfYp9mKINmH2K/ZitmHHwQFBjkwMDEwNWQWAmYPFQEu2YjYp9qv2LDYp9ix2Yog2 LPZitmFINqp2KfYsdiqINmH2KfZiiDZh9iv2YrZh2QCCw9kFgI CAQ8PFgQfBQUkINin2LXZhNin2K0g2qnYryDZhdmE2Yov2qnYr 9m+2LPYqtmKHwQFBTkwMDkwZBYCZg8VASQg2KfYtdmE2KfYrSD aqdivINmF2YTZii/aqdiv2b7Ys9iq2YpkAgwPZBYCAgEPDxYEHwUFM9mI2Kfar9iw2 KfYsdmKINiz2YrZhSDZg9in2LHYqtmH2KfZiiDYp9i52KrYqNi n2LHZih8EBQU5MDA5NWQWAmYPFQEz2YjYp9qv2LDYp9ix2Yog2 LPZitmFINmD2KfYsdiq2YfYp9mKINin2LnYqtio2KfYsdmKZAI LDw8WAh8ABZAC2KjYpyDYqtmI2KzZhyDYqNmHINmB2LHYpyDYs diz2YrYr9mGINiq2LnYt9mK2YTYp9iqINmG2YjYsdmI2LIg2qn ZhNmK2Ycg2K/Zgdin2KrYsSDYqNix2KfZiiDYr9ix2YrYp9mB2Kog2KfZgtmE2 KfZhSDYr9mI2YXYp9mH2YcgKNiz2YrZhSDaqdin2LHYqiDZiCD Zgdix2YUgKdit2K/Yp9qp2KvYsSDYqtinINmF2YjYsdiuIDIwLzEyLzkzINio2Ycg2 YXYsdin2qnYsiDZhdi02KrYsdqp2YrZhiDYtNmH2LHYs9iq2Kf ZhiDYrtmI2K8g2YXYsdin2KzYudmHINmG2YXYp9mK2YbYry5kZ AINDw8WAh8AZWRkAg8PZBYKAgEPFgIeCWlubmVyaHRtbAUBMGQ CAw8WAh8GBQEwZAIGDxYCHwYFATBkAggPFgIfBgUBMGQCCg9kF gJmD2QWAgIBDw8WAh4OTW9iaWxlRmlsZUluZm8FBzUyNTAwNTB kFhICBQ8PFgIfAGVkZAIHDw8WAh8AZWRkAgkPDxYCHgdWaXNpY mxlaGRkAhMPDxYCHwhoZGQCFw9kFiYCAQ8PFgIfAAUX2YXYqtm C2KfYttmKINit2YLZitmC2YpkZAIDDw8WAh8ABQ7ZiNin2q/YsNin2LHZimRkAgUPDxYCHwAFDNmF2LnZhdmI2YTZimRkAgcPD xYCHwAFMtit2LbZiNix2YogLSDYq9io2Kog2YbYp9mFINit2Lb ZiNix2YogKNii2YLYp9mK2YopZGQCCQ8PFgIfAAUO2YXYrdmF2 K/Yrdiz2YZkZAILDw8WAh8ABQbYotmI2LRkZAINDw8WAh8ABQjYq NmE2YjYt2RkAg8PDxYCHwAFAzYyMWRkAhEPDxYCHwAFCtqG2YX ZhdmH2LFkZAITDw8WAh8ABQoxMzMyLzA1LzE3ZGQCGQ8PFgIfA AULOTIyLzEwMzk3MjlkZAIdDw8WAh8ABQ80MzIxMTk2MDAzNDk xOTVkZAIfDw8WAh8ABQo5MTY5NjMyMDI4ZGQCIQ8PFgIfAGVkZ AIjDw8WAh8ABQg3ODUxMzczM2RkAiUPDxYCHwAFCjEzODYvMDQ vMjRkZAInDw8WAh8ABQoxMzg2LzA1LzI3ZGQCKQ8PFgIfCGdkZ AIrDzwrAA0BAA8WBh4LXyFEYXRhQm91bmRnHwMCAR8IZ2QWAmY PZBYEAgEPZBYUZg8PFgIfAAUFMTIwNTZkZAIBDw8WAh8ABQjZg di52KfZhGRkAgIPDxYCHwAFCjE0MDMvMTIvMTlkZAIDDw8WAh8 ABQoxNDA0LzAyLzE5ZGQCBA8PFgIfAAUKMTQwNS8wMi8xOGRkA gUPDxYCHwAFCjEzODYvMDYvMTVkZAIGDw8WAh8ABQoxNDE1LzE wLzEyZGQCBw9kFgICAQ8PFgIfAAUG2K7ZitixZGQCCA8PFgIfA AUVMTk6NDY6NTggLSAxMzkzLzEyLzIyZGQCCQ8PFgIfAAUVMjE 6NDM6MTMgLSAxMzkzLzEyLzIxZGQCAg8PFgIfCGhkZAIZD2QWA gIBDzwrAA0BAA8WBB8JZx8DZmRkAhsPDxYEHgdFbmFibGVkaB8 IaGRkAh0PDxYCHwhoZBYEAgcPEGRkFgFmZAIXDxBkZBYBZmQCH w8PFgIfAAWtAdqp2KfYsdio2LEg2YXYrdiq2LHZhSDZvtizINi n2LIg2KrYp9uM24zYr9iMINio2Ycg2YXYtNiq2LHaqSDYqtmE2 YHZhiDZh9mF2LHYp9mHIDkxNjk2MzIwMjgg2b7bjNin2YXaqSD Yq9io2Kog2LnYr9mFINin2LfZhNin2Lkg2KfYsiDYsdmF2LIg2 K/ZiNmFINin2LHYs9in2YQg2K7ZiNin2YfYryDYtNivZGQYAwUeX 19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgEFNmN0bDA wJENvbnRlbnRQbGFjZUhvbGRlcjEkTW9iaWxlRmlsZUluZm8xJ FNlYXJjaEltZ0J0bgUzY3RsMDAkQ29udGVudFBsYWNlSG9sZGV yMSRNb2JpbGVGaWxlSW5mbzEkR3JpZFZpZXcxDzwrAAoBCGZkB TRjdGwwMCRDb250ZW50UGxhY2VIb2xkZXIxJE1vYmlsZUZpbGV JbmZvMSRHcmlkVmlld0lODzwrAAoBCAIBZADS3lEtfwxhqAz1N 37k+4FocyxG
__EVENTVALIDATION:/wEWIALavY2LCQL8jb5+AoHemf0CAsv3wcwEApa5jIwEAtbP0a0 GAt7fofIKAsHfofIKAvea5qwPAr+bwOELAvaxmsIHApnMocQMA qeMy/kJAreS/t8OAoCL7vMPAoq2ztACApTrjv0LAt678tQPAvXVuZ4NAv+K+so GArnH1MEHAvS2qJYKAq/XqfsOApK9kZ4EAs2n9coDAoiXyZ8GAsO3yoQLAubCtaIBAqGtm U8C/dyc4Q4CuMeAjg4C87bUYv+RFeWjGB63pMONxH2C/05V2PQK
__ASYNCPOST:true
ctl00$ContentPlaceHolder1$MobileFileInfo1$SearchIm gBtn.x:0
ctl00$ContentPlaceHolder1$MobileFileInfo1$SearchIm gBtn.y:0

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

private string HttpPostRequest(string url, Dictionary<string, string> postParameters) {
string postData = "";


foreach (string key in postParameters.Keys)
{
postData += HttpUtility.UrlEncode(key) + "="
+ HttpUtility.UrlEncode(postParameters[key]) + "&";
}


HttpWebRequest myHttpWebRequest = (HttpWebRequest)HttpWebRequest.Create(url);
myHttpWebRequest.CookieContainer = GetCookies.GetUriCookieContainer(this.webBrowser1. Document.Url);


myHttpWebRequest.Method = "POST";


byte[] data = Encoding.ASCII.GetBytes(postData);


myHttpWebRequest.ContentType = "application/x-www-form-urlencoded";
myHttpWebRequest.ContentLength = data.Length;


Stream requestStream = myHttpWebRequest.GetRequestStream();
requestStream.Write(data, 0, data.Length);
requestStream.Close();


HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();


Stream responseStream = myHttpWebResponse.GetResponseStream();


StreamReader myStreamReader = new StreamReader(responseStream, Encoding.Default);


string pageContent = myStreamReader.ReadToEnd();


myStreamReader.Close();
responseStream.Close();


myHttpWebResponse.Close();


return pageContent;
}

Dictionary<string,string> postData = new Dictionary<string,string>(); postData.Add("ctl00_ContentPlaceHolder1_MobileFileInfo1_SearchTx t", this.textBox2.Text);
this.richTextBox1.Text = this.HttpPostRequest(this.webBrowser1.Document.Url , postData);




سرور جواب رو می ده ولی اطلاعاتی اصلی رو نمیده ( تگ هایی که این اطلاعات داخلشون قرار داره رو برگشت میده )

چطور میشه درخواستی رو با استفاده از کلاس Web Request به این صفحه ارسال کرد ؟