-
11-07-2014, 10:37 AM #1Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Hỏi về vấn đề HTTP POST Login website qua C# Winform
Em đang làm một ứng dụng C# đăng nhập vào website http://tuyendung.com.vn/ để lấy được dữ liệu trên trang đấy mà không biết làm thế nào để đăng nhập được.
Em làm thế này mà không đăng nhập được các bác ạ. Giúp em với
Mã:string responseStream=""; string urlLogin = "http://tuyendung.com.vn/tuyendung/Login.aspx"; CookieContainer cookContainer = new CookieContainer(); try { HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(urlLogin); wReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"; wReq.CookieContainer = cookContainer; HttpWebResponse wRes = (HttpWebResponse)wReq.GetResponse(); cookContainer.Add(wRes.Cookies); StreamReader reader = new StreamReader(wRes.GetResponseStream()); responseStream = reader.ReadToEnd(); reader.Close(); wRes.Close(); if (responseStream.Length > 0) { string value = "ctl00_ContentPlaceHolder1_txtEmail=dinhkhanh@gmail.com" + "ctl00_ContentPlaceHolder1_txtPassword=password"; HttpWebRequest wReqLogin = (HttpWebRequest)WebRequest.Create("http://tuyendung.com.vn/tuyendung/Login.aspx"); wReqLogin.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"; wReqLogin.Method = "POST"; wReqLogin.ContentType = "application/x-www-form-urlencoded"; wReqLogin.CookieContainer = cookContainer; wReqLogin.AllowAutoRedirect = true;//bỏ qua response trước khi redirect wReqLogin.ContentLength = value.Length; using (StreamWriter writer = new StreamWriter(wReqLogin.GetRequestStream(), Encoding.ASCII)) { writer.Write(value); } HttpWebResponse wResLogin = (HttpWebResponse)wReqLogin.GetResponse(); reader = new StreamReader(wResLogin.GetResponseStream()); responseStream = reader.ReadToEnd(); reader.Close(); wResLogin.Close(); } } catch { }
View more random threads:
- AI trong XNA
- Cần giúp 1 đoạn format string.
- Gridview này hiển thị lại dữ liêu của griview khác
- [Help] Syntax error in UPDATE statement.
- Session bị mất
- Các bác giải thích giúp em đoạn mã oop về Generic class và kế thừa này với.
- Cho mình hỏi về lỗi không load menu khi đổi page của gridview
- Lỗi trong Interfaces!
- Qfx q4 niit
- thắc mắc về vấn đề nhập xuất dữ liệu
-
11-07-2014, 01:10 PM #2Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Bạn bắt ngoại lệ mà không làm gì thì lúc có ngoại lệ sao mà biết.
Bạn nhầm lẫn khi dùng thuộc tính id của thẻ input nhé. Lúc gửi dữ liệu thì nó dùng thuộc tính name. Cụ thể 2 giá trị đúng là:
Mã:ctl00$ContentPlaceHolder1$txtEmail ctl00$ContentPlaceHolder1$txtPassword
Đồng thời trong form này có nhiều trường ẩn do ASP.NET tự tạo ra. Đầy đủ là:
Mã:ctl00$ScriptManager1:ctl00$ContentPlaceHolder1$UpdatePanel1|ctl00$ContentPlaceHolder1$btnLogin ctl00$ContentPlaceHolder1$txtEmail:<Địa chỉ thư điện tử> ctl00$ContentPlaceHolder1$ValidatorCalloutExtender1_ClientState: ctl00$ContentPlaceHolder1$ValidatorCalloutExtender2_ClientState: ctl00$ContentPlaceHolder1$txtPassword:<Mật khẩu> ctl00$ContentPlaceHolder1$ValidatorCalloutExtender3_ClientState:INVALID ctl00$ContentPlaceHolder1$ValidatorCalloutExtender6_ClientState: __EVENTTARGET: __EVENTARGUMENT: __VIEWSTATE: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 __EVENTVALIDATION:/wEWCwLG/PGZDQLUnp3xAQK1tankAgLwi5HgCgL90KKTCAK/toC/AwKE2KHdBgKO9e+RAQK87PLABgLhlITBAwKb34OuCAdyn53MdRykAke99KpQvVF0lFhi __AjaxControlToolkitCalendarCssLoaded: __LASTFOCUS: __ASYNCPOST:true ctl00$ContentPlaceHolder1$btnLogin:Đăng nhập
-
12-07-2014, 05:58 PM #3Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi SITUVNX
- - - Nội dung đã được cập nhật ngày 12-07-2014 lúc 10:58 AM - - -
Mã:string responseStream = ""; string responseStreamInfor = ""; string urlLink = "http://ungvien.com.vn/employer/main.php"; CookieContainer cookContainer = new CookieContainer(); try { HttpWebRequest wReq = (HttpWebRequest)WebRequest.Create(urlLink); wReq.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"; wReq.CookieContainer = cookContainer; HttpWebResponse wRes = (HttpWebResponse)wReq.GetResponse(); StreamReader reader = new StreamReader(wRes.GetResponseStream()); responseStream = reader.ReadToEnd(); reader.Close(); wRes.Close(); if (responseStream.Length > 0) { string value = "email=dinhkhanh.bkhn@gmail.com" + "password=t2610k0211"; HttpWebRequest wReqLogin = (HttpWebRequest)WebRequest.Create("http://ungvien.com.vn/employer/main.php"); wReqLogin.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"; wReqLogin.Method = "POST"; wReqLogin.ContentType = "application/x-www-form-urlencoded"; wReqLogin.CookieContainer = cookContainer; wReqLogin.AllowAutoRedirect = true;//bỏ qua response trước khi redirect wReqLogin.ContentLength = value.Length; Uri uri = new Uri("http://ungvien.com.vn/"); using (StreamWriter writer = new StreamWriter(wReqLogin.GetRequestStream(), Encoding.ASCII)) { writer.Write(value); } HttpWebResponse wResLogin = (HttpWebResponse)wReqLogin.GetResponse(); cookContainer.Add(wResLogin.Cookies); reader = new StreamReader(wResLogin.GetResponseStream()); responseStream = reader.ReadToEnd(); reader.Close(); wResLogin.Close(); //Get thông tin trang mới HttpWebRequest reqInfor = (HttpWebRequest)WebRequest.Create(urlGetInfor); reqInfor.UserAgent = "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17"; reqInfor.CookieContainer = cookContainer; HttpWebResponse resInfor = (HttpWebResponse)reqInfor.GetResponse(); reader = new StreamReader(resInfor.GetResponseStream()); responseStreamInfor = reader.ReadToEnd(); reader.Close(); resInfor.Close(); } } catch { } return responseStreamInfor;
-
13-07-2014, 12:06 PM #4Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Cần tìm gia sư dạy thêm về c# ở Hà Nội, nội dung cần học giống với nội dung của topic này, mình cần học để code auto post bài lên vài forum.
Mình đã học xong 1 khóa C# base, xử lý chuỗi khá thành thạo, đã tự code đc tool get data từ web về, xử lý cắt chuỗi, ghi ra file txt... giờ cần học để code auto post bài lên forum từ nội dung trong file .txt
Bạn nào có thể giúp mình pm skype mình nhé: gptviet
-
13-07-2014, 07:29 PM #5Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Đây lại là trang khác.
Bạn nên dùng các chức năng có sẵn của các trình duyệt để xem dữ liệu được gửi nhận như thế nào.
Trang http://ungvien.com.vn/employer/main.php có ô đăng nhập nhưng nó gửi sang trang ẩn là: http://ungvien.com.vn/employer/profile_common.php?tab=login
Mã:<form style="margin:0" name="loginForm" method="post" action="profile_common.php?tab=login" onsubmit="return checkLogin(this,this.password);"><!-- ... --></form>
Mã:email:email@email.com password:MyPassword x:40 y:18 axn:1
-
15-07-2014, 09:58 AM #6Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi depzai
Khi lấy nội dung trang chứa form lần đầu tiên, bạn nên lấy tất cả các input có giá trị (attr value) rồi post kèm những trường cần handle.
-
15-07-2014, 07:19 PM #7Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi SITUVNX
</div>
</div>Bác chỉ ae cách xem trong trình duyệt đi , mình chưa biết cái này [IMG]images/smilies/biggrin.png[/IMG]
-
27-07-2014, 11:34 AM #8Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi trinvh
Request Payload
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="name"
Anime backgroup
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="torrent"; filename="anime_music_background.jpg.torrent"
Content-Type: application/octet-stream
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="torrenturl"
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="catid"
1_32
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="info"
http://www.google.com
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="description"
Search at: http://www.google.com
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="rules"
1
------WebKitFormBoundaryp9A4KNiVB9vi8CkG
Content-Disposition: form-data; name="submit"
Upload
------WebKitFormBoundaryp9A4KNiVB9vi8CkG--
-
28-07-2014, 03:46 PM #9Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Gửi bởi hiepgv37
Mã:var username="abc@gmail.com"; var pass="1111"; var value = string.Format("ctl00%24ScriptManager1=ctl00%24ContentPlaceHolder1%24UpdatePanel1%7Cctl00%24ContentPlaceHolder1%24btnLogin&ctl00%24ContentPlaceHolder1%24txtEmail={0}&ctl00%24ContentPlaceHolder1%24ValidatorCalloutExtender1_ClientState=&ctl00%24ContentPlaceHolder1%24ValidatorCalloutExtender2_ClientState=&ctl00%24ContentPlaceHolder1%24txtPassword={1}&ctl00%24ContentPlaceHolder1%24ValidatorCalloutExtender3_ClientState=&ctl00%24ContentPlaceHolder1%24ValidatorCalloutExtender6_ClientState=&__EVENTTARGET=&__EVENTARGUMENT=&__VIEWSTATE=%2FwEPDwUKMTg0MTQ3NjI5Mg9kFgJmD2QWAgIDD2QWBgIDD2QWDAIFDw8WAh4ISW1hZ2VVcmwFE34vSW1hZ2VzL2xhbmdlbi5wbmdkZAINDxYCHgtfIUl0ZW1Db3VudAIGFgxmD2QWAmYPFQMKbm8tY3VycmVudBcvdHV5ZW5kdW5nL0RlZmF1bHQuYXNweAtUcmFuZyBjaOG7p2QCAQ9kFgJmDxUDCm5vLWN1cnJlbnQWL3R1eWVuZHVuZy9zZWFyY2guYXNweA1Uw6xtIGjhu5Mgc8ahZAICD2QWAmYPFQMKbm8tY3VycmVudBcvdHV5ZW5kdW5nL3Bvc3Rqb2IuYXNweBXEkMSDbmcgdHV54buDbiBk4bulbmdkAgMPZBYCZg8VAwpuby1jdXJyZW50Ky90dXllbmR1bmcvam9icmVzcG9uc2VzLmFzcHg%2FdHlwZT12aWV3X2xpc3QTUXXhuqNuIGzDvSBo4buTIHPGoWQCBA9kFgJmDxUDCm5vLWN1cnJlbnQaL3R1eWVuZHVuZy9qb2JtYW5hZ2VyLmFzcHgZUXXhuqNuIGzDvSB0dXnhu4NuIGThu6VuZ2QCBQ9kFgJmDxUDB2N1cnJlbnQZL3R1eWVuZHVuZy9teWFjY291bnQuYXNweAxUw6BpIGtob%2BG6o25kAg8PDxYEHgRUZXh0BQ3EkMSDbmcgbmjhuq1wHgtOYXZpZ2F0ZVVybAU6fi90dXllbmR1bmcvbG9naW4uYXNweD9SZXR1cm5Vcmw9JTJmdHV5ZW5kdW5nJTJmTG9naW4uYXNweGRkAhEPDxYCHgdWaXNpYmxlaGRkAhMPDxYEHwIFCsSQxINuZyBrw70fAwUNcmVnaXN0ZXIuYXNweGRkAhkQPCsADQIADxYCHgtfIURhdGFCb3VuZGdkDBQrAAoFIzA6MCwwOjEsMDoyLDA6MywwOjQsMDo1LDA6NiwwOjcsMDo4FCsAAhYQHwIFGUPhuq1wIG5o4bqtdCB0w6BpIGtob%2BG6o24eBVZhbHVlBRlD4bqtcCBuaOG6rXQgdMOgaSBraG%2FhuqNuHwMFJC90dXllbmR1bmcvcmVnaXN0ZXIuYXNweD90eXBlPXVwZGF0ZR4HVG9vbFRpcAUZQ%2BG6rXAgTmjhuq10IFTDoGkgS2hv4bqjbh4HRW5hYmxlZGceClNlbGVjdGFibGVnHghEYXRhUGF0aAUkL3R1eWVuZHVuZy9yZWdpc3Rlci5hc3B4P3R5cGU9dXBkYXRlHglEYXRhQm91bmRnZBQrAAIWDB8CBQF8HwYFAXwfCGcfCWgfCgUkN2MwNjBlMTItMThkYy00YzY3LWI4ZmItZjFkYTgwZDBiYjQ1HwtnZBQrAAIWEB8CBRNUaMO0bmcgdGluIGPDtG5nIHR5HwYFE1Row7RuZyB0aW4gY8O0bmcgdHkfAwUXL3R1eWVuZHVuZy9wcm9maWxlLmFzcHgfBwUTVGjDtG5nIFRpbiBDw7RuZyBUeR8IZx8JZx8KBRcvdHV5ZW5kdW5nL3Byb2ZpbGUuYXNweB8LZ2QUKwACFgwfAgUBfB8GBQF8HwhnHwloHwoFJDVlN2Q0YzU4LTlkZjEtNDQ5Yy1iNzMwLTQ4NzcwNjE4NTQyNB8LZ2QUKwACFhAfAgUNTG9nbyBjw7RuZyB0eR8GBQ1Mb2dvIGPDtG5nIHR5HwMFFC90dXllbmR1bmcvbG9nby5hc3B4HwcFEUPhuq1wIG5o4bqtdCBMb2dvHwhnHwlnHwoFFC90dXllbmR1bmcvbG9nby5hc3B4HwtnZBQrAAIWDB8CBQF8HwYFAXwfCGcfCWgfCgUkYTdmNTg3NGQtNWRkOS00NjU5LWE2ZjYtMzRmZmRhMDEwYmU1HwtnZBQrAAIWEB8CBRPEkOG7lWkgbeG6rXQga2jhuql1HwYFE8SQ4buVaSBt4bqtdCBraOG6qXUfAwUeL3R1eWVuZHVuZy9jaGFuZ2VwYXNzd29yZC5hc3B4HwcFE8SQ4buVaSBN4bqtdCBLaOG6qXUfCGcfCWcfCgUeL3R1eWVuZHVuZy9jaGFuZ2VwYXNzd29yZC5hc3B4HwtnZBQrAAIWDB8CBQF8HwYFAXwfCGcfCWgfCgUkMzQ0NGFmOGYtZjVhOS00MDM3LWEzZjktY2EzMGZmN2E0NGJhHwtnZBQrAAIWEB8CBRvEkOG7lWkgZS1tYWlsIMSRxINuZyBuaOG6rXAfBgUbxJDhu5VpIGUtbWFpbCDEkcSDbmcgbmjhuq1wHwMFGy90dXllbmR1bmcvY2hhbmdlZW1haWwuYXNweB8HBRfEkOG7lWkgRW1haWwgVHJ1eSBD4bqtcB8IZx8JZx8KBRsvdHV5ZW5kdW5nL2NoYW5nZWVtYWlsLmFzcHgfC2dkZGQCBQ9kFgICAg9kFgJmD2QWBAIBDw8WAh8CBVU8Zm9udCBjb2xvcj1yZWQ%2BRW1haWwgxJHEg25nIG5o4bqtcCBraMO0bmcgxJHDum5nLCB2dWkgbMOybmcga2nhu4NtIHRyYSBs4bqhaS48L2ZvbnQ%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%3D&__EVENTVALIDATION=%2FwEWCwKVtqaVDQLUnp3xAQK1tankAgLwi5HgCgL90KKTCAK%2FtoC%2FAwKE2KHdBgKO9e%2BRAQK87PLABgLhlITBAwKb34OuCAW%2FUj8NpRCo82uqcIEsshQMpqJb&__AjaxControlToolkitCalendarCssLoaded=&__ASYNCPOST=true&ctl00%24ContentPlaceHolder1%24btnLogin=%C4%90%C4%83ng%20nh%E1%BA%ADp", HttpUtility.UrlEncode(username), HttpUtility.UrlEncode(pass)); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://tuyendung.com.vn/tuyendung/Login.aspx"); request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/36.0.1985.125 Safari/537.36"; request.Headers.Add("Origin", "http://tuyendung.com.vn"); request.Headers.Add("X-MicrosoftAjax", "Delta=true"); request.Referer = @"http://tuyendung.com.vn/tuyendung/Login.aspx"; request.Host = "tuyendung.com.vn"; request.KeepAlive = true; request.Method = "POST"; request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; request.ContentLength = value.Length; using (StreamWriter writer = new StreamWriter(request.GetRequestStream(), Encoding.ASCII)) { writer.Write(value); } HttpWebResponse wResLogin = (HttpWebResponse)request.GetResponse(); var reader = new StreamReader(wResLogin.GetResponseStream()); var responseStream = reader.ReadToEnd(); reader.Close(); wResLogin.Close(); if (responseStream.Contains("Mật khẩu không đúng, vui lòng kiểm tra lại")) { Console.WriteLine("Login Fail"); } else Console.WriteLine("Login Success"); Console.Read();
-
08-11-2014, 08:20 AM #10Junior Member
- Ngày tham gia
- Sep 2015
- Bài viết
- 0
Một quá trình kinh khủng là phức tạp. Cách tốt nhất là làm WebBrowser1 rồi sau đó tìm txt fill in roi fire button login.
Vài cái cần lưu ý khi sử dụng, giữ browser object này lại để có thể navigate qua trang khác, brwoser rất good cho phần này nếu ASP.NET đó dùng ViewState thì nó cũng carry over.
HttpWebRequest req = WebRequest.Create("http://thuvienphapluat.vn/page/login.aspx") // View state issue
Nếu làm kiểu này req phải là dạng member (nằng trong memory (global) thay vì local variable), không thì after login thì Garbarge collector sẽ collect đi và khi navigate qua trang khác website nó sẽ báo là chưa LOGIN.
Không chỉ dừng lại ở việc sử dụng nguyên liệu cao cấp, mỗi công trình còn được "chăm sóc" bằng 4 dịch vụ xuất sắc của Tre Nghệ. Từ việc tư vấn, thiết kế đến thi công và hoàn thiện, mọi quy trình đều...
Chất Lượng và Sáng Tạo: Kiến Trúc...