Trang 1 trên tổng số 2 12 Cuối cùngCuối cùng
Từ 1 tới 10 trên tổng số 14 kết quả

Đề tài: Cách dùng winform để đăng nhập vào một trang web như thế nào?

  1. #1
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Mặc định Cách dùng winform để đăng nhập vào một trang web như thế nào?

    Xin chào cả nhà.
    Hiện bây h em đang gặp một vấn đề.
    Vấn đề của em như sau.
    Em muốn đăng nhập vào một trang web bằng winform. Mà ko biết các nào để làm được điều đó cả.
    Vậy có bác nào biết chỉ dùm em với.
    Cụ thể có những công cụ vào và những cách nào để thực hiện được điều đó.
    Em xin cảm ơn cả nhà.
    Nếu có code demo thì cho em xin nhé
    Đã được chỉnh sửa lần cuối bởi tuandoi1 : 22-09-2011 lúc 09:58 AM.

  2. #2
    Ngày gia nhập
    12 2010
    Bài viết
    37

    Cậu nghiên cứu về:
    1. Httpwebrequest với cách post và Get,
    2. regex
    3. Ngôn ngữ html
    Nghiên cứu từng cái, sau đó kết hợp lại là viết code đăng nhập thoải mái. Mình đã nghiên cứu cái này thành công, mỗi tội lười code ra quá. Cậu chịu khó tìm hiểu từ từ đi nhé.

  3. #3
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Không có cách đăng nhập tổng quát cho mọi trang web. Bạn phải tìm hiểu cụ thể code html, js của trang mà bạn cần đăng nhập. Bạn phải xem khi đăng nhập, trang web post vào url nào, truyền dữ liệu nào lên. Sau đó dùng socket hoặc webclient bắt chước post y chang như vậy lên.
    Vấn đề bạn hỏi rất mơ hồ, mình thật sự ko hiểu bạn dùng winform đăng nhập trang web xong rồi bạn sẽ làm gì với nó ? Đóng winform chăng ? Một trang web biết được bạn đã đăng nhập hay chưa dựa vào session hoặc cookie do server trả về sau khi login xong. Chương trình phải lưu lại thông tin đó và gửi lên lại cho server sau mỗi lần request tiếp theo. Do đó bạn dùng chương trình nào đăng nhập xong thì phải đúng chương trình đó mới giữ được session sau khi đăng nhập. Muốn chương trình khác có được session này thì bạn phải truyền cookie cho nó, và chương trình nhận phải hỗ trợ add và lưu cookie vào sử dụng cho chính nó.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  4. #4
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Trích dẫn Nguyên bản được gửi bởi meoconlongvang Xem bài viết
    Không có cách đăng nhập tổng quát cho mọi trang web. Bạn phải tìm hiểu cụ thể code html, js của trang mà bạn cần đăng nhập. Bạn phải xem khi đăng nhập, trang web post vào url nào, truyền dữ liệu nào lên. Sau đó dùng socket hoặc webclient bắt chước post y chang như vậy lên.
    Vấn đề bạn hỏi rất mơ hồ, mình thật sự ko hiểu bạn dùng winform đăng nhập trang web xong rồi bạn sẽ làm gì với nó ? Đóng winform chăng ? Một trang web biết được bạn đã đăng nhập hay chưa dựa vào session hoặc cookie do server trả về sau khi login xong. Chương trình phải lưu lại thông tin đó và gửi lên lại cho server sau mỗi lần request tiếp theo. Do đó bạn dùng chương trình nào đăng nhập xong thì phải đúng chương trình đó mới giữ được session sau khi đăng nhập. Muốn chương trình khác có được session này thì bạn phải truyền cookie cho nó, và chương trình nhận phải hỗ trợ add và lưu cookie vào sử dụng cho chính nó.
    Đầu tiên xin cảm ơn anh "mèo" (cho phép em gọi như vậy hì) và mọi người đã trả lời giúp em.
    Độ này em mới thi và bảo vệ xong nên có chút thời gian, em cũng là dân chơi game nên cũng có máu mê viết các tool hỗ trợ(vừa để thỏa mãn đam mê game và cũng tăng kiến thức). Em cũng có tìm hiểu về cái này mới chỉ được 1 ngày thoai. Mục tiêu của em là 1 số trò flash trong zing me của vinagame.
    Em có dùng chrome để lấy dc thông tin của của trang đăng nhập như sau
    <form class="frmlogin" id="frmLogin" name="frmLogin" action="https://sso2.zing.vn/index.php?method=login" method="post" enctype="application/x-www-form-urlencoded">
    và đây là cái form để nhập pass
    HTML Code:
    1. [COLOR="blue"]<div class="form">
    2.             <p><label>Tài khoản:</label></p>
    3.             <p><input name="u" id="u" value="" type="text" maxlength="24"></p>
    4.             <p><label>Mật khẩu:</label></p>
    5.             <p><input name="p" id="pp"  type="password" value="" maxlength="32"></p>
    6.             <p><label><input name="longtime" id="remember"  type="checkbox" value="1"  class="checked checkBR"/> Ghi nhớ đăng nhập</label></p>
    7.         </div>[/COLOR]
    Em cũng biết 1 chút về html. Khi xem các request mà chrome gửi lên server thì em thấy các thứ như sau:
    HTML Code:
    1. <!--đây là nội dung của index.php-->
    2. Request URL:[url]https://sso2.zing.vn/index.php?method=login[/url]
    3. Request Method:POST
    4. Status Code:302 Moved Temporarily
    5. Request Headersview source
    6. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    7. Accept-Charset:windows-1258,utf-8;q=0.7,*;q=0.3
    8. Accept-Encoding:gzip,deflate,sdch
    9. Accept-Language:vi,en;q=0.8,en-US;q=0.6
    10. Cache-Control:max-age=0
    11. Connection:keep-alive
    12. Content-Length:142
    13. Content-Type:application/x-www-form-urlencoded
    14. Cookie:PHPSESSID=gueq9hrfoqgbgr3bau81rnfhs2; __utma=95862039.1784508427.1316664867.1316664867.1316664867.1; __utmb=95862039.4.10.1316664867; __utmc=95862039; __utmz=95862039.1316664867.1.1.utmcsr=me.zing.vn|utmccn=(referral)|utmcmd=referral|utmcct=/h/tinhbattuvn
    15. Host:sso2.zing.vn
    16. Origin:[url]http://login.me.zing.vn[/url]
    17. Referer:[url]http://login.me.zing.vn/?mess=succ[/url]
    18. User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1
    19. Query String Parametersview URL encoded
    20. method:login
    21. Form Dataview URL encoded
    22. pid:25
    23. u1:[url]http://login.me.zing.vn/login/success[/url]
    24. fp:[url]http://login.me.zing.vn/login/fail[/url]
    25. u:tinhbattuvn
    26. p:*********
    27. bntlogin:
    28. Response Headersview source
    29. Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
    30. Connection:close
    31. Content-Type:text/html
    32. Date:Thu, 22 Sep 2011 04:16:53 GMT
    33. Expires:Thu, 19 Nov 1981 08:52:00 GMT
    34. Location:[url]http://login.me.zing.vn/login/success?mess=succ&u=tinhbattuvn[/url]
    35. P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
    36. Pragma:no-cache
    37. Server:nginx/0.8.54
    38. Set-Cookie:vngauth=AAH4e7W2ek4DhyAEAAAAAJI2Ys8%3D; path=/; domain=zing.vn; httponly
    39. acn=tinhbattuvn; path=/; domain=zing.vn; httponly
    40. uin=o0069240579; path=/; domain=zing.vn; httponly
    41. Transfer-Encoding:chunked
    42. X-Powered-By:PHP/5.3.5

    HTML Code:
    1. <!--đăng nhập thành công-->
    2. Request URL:http://login.me.zing.vn/login/success?mess=succ&u=tinhbattuvn
    3. Request Method:GET
    4. Status Code:302 Moved Temporarily
    5. Request Headersview source
    6. Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    7. Accept-Charset:windows-1258,utf-8;q=0.7,*;q=0.3
    8. Accept-Encoding:gzip,deflate,sdch
    9. Accept-Language:vi,en;q=0.8,en-US;q=0.6
    10. Cache-Control:max-age=0
    11. Connection:keep-alive
    12. Cookie:__utma=46372155.202149050.1316532120.1316656283.1316662319.5; __utmb=46372155.8.10.1316662319; __utmc=46372155; __utmz=46372155.1316662319.5.5.utmcsr=login.me.zing.vn|utmccn=(referral)|utmcmd=referral|utmcct=/; __utma=95862039.1784508427.1316664867.1316664867.1316664867.1; __utmb=95862039.4.10.1316664867; __utmc=95862039; __utmz=95862039.1316664867.1.1.utmcsr=me.zing.vn|utmccn=(referral)|utmcmd=referral|utmcct=/h/tinhbattuvn; vngauth=AAH4e7W2ek4DhyAEAAAAAJI2Ys8%3D; acn=tinhbattuvn; uin=o0069240579
    13. Host:login.me.zing.vn
    14. Referer:http://login.me.zing.vn/?mess=succ
    15. User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/14.0.835.163 Safari/535.1
    16. Query String Parametersview URL encoded
    17. mess:succ
    18. u:tinhbattuvn
    19. Response Headersview source
    20. Content-Type:text/html; charset=utf-8
    21. Date:Thu, 22 Sep 2011 04:16:53 GMT
    22. Location:http://me.zing.vn
    23. P3P:CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
    24. Server:nginx
    25. VNG-ME2-PRIVMSG-171
    26. Set-Cookie:ZAUTH=1F018988D144BCB87BCC5CF6; path=/; domain=zing.vn; httponly
    27. ZMES=14786d013777c7447b1a2312af6d72511316665013; path=/; domain=zing.vn
    28. Transfer-Encoding:chunked
    nó trả về 1 số cái nữa. Có bác nào giúp em 1 chút phân tích cái này và ứng dụng vào code giúp em dc không. Em cảm ơn

  5. #5
    Ngày gia nhập
    10 2008
    Bài viết
    258

    Chào bạn,

    Bạn mới làm thì đừng nhảy vào những trang như thế này
    Visual C# Code:
    1. https://sso2.zing.vn/index.php?method=login
    Vì nó sử dụng https để đăng nhập, bạn nên làm với những trang login theo giao thức http trước như công đồng c việt chẳng hạn.


    Bạn vào toppic này để tham khảo
    http://diendan.congdongcviet.com/showthread.php?t=47512
    Cách đăng nhập qua https thì vào toppic này, cũng đăng nhập vào zing đó.
    http://diendan.congdongcviet.com/showthread.php?t=47413

    Hãy search trước khi hỏi, Và bạn nên tìm hiểu thế nào là HTTP, POST,GET thì sẽ làm cái này dễ hơn
    Anh yêu em hí hí

  6. #6
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Mặc định Cách dùng winform để đăng nhập vào một trang web như thế nào?

    Đăng nhập vào zing thì hơi bị khó xơi đó. Trước khi đến được trang chứng thực https nó còn phải làm một số thao tác trên trang login để lấy cookie. Mình ko có thời gian phân tích kỹ nhưng mình đoán nó có dùng 1 đoạn javascript nhỏ để phát sinh cookie. Mà javascript lại là một vấn đề rất khủng trong lập trình browser. Bạn đem cookie lấy từ trang http login truyền qua trang https chứng thực user, pass tiếp. Định dạng gửi là u=username&p=password. Lưu ý là https dùng ssl, bạn lại phải dùng ssl stream và đi port 443. Nó lại còn chuyển hướng 302 vài lần trước khi về được trang đăng nhập thành công.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  7. #7
    Ngày gia nhập
    09 2011
    Bài viết
    1

    Chào mọi người mình cũng tình cờ google và ra forum này. Mình cũng chưa hiểu rõ về Requests và Response Header. Mong các bạn chỉ rõ tận tình, nếu bạn nào hảo tâm có thể cho mình code demo về cái đó được không . Thank !

  8. #8
    Ngày gia nhập
    05 2010
    Bài viết
    344

    Trích dẫn Nguyên bản được gửi bởi jerryno6 Xem bài viết
    Cậu nghiên cứu về:
    1. Httpwebrequest với cách post và Get,
    2. regex
    3. Ngôn ngữ html
    Nghiên cứu từng cái, sau đó kết hợp lại là viết code đăng nhập thoải mái. Mình đã nghiên cứu cái này thành công, mỗi tội lười code ra quá. Cậu chịu khó tìm hiểu từ từ đi nhé.
    Anh ơi, Anh làm ơn giúp em cái demo nhỏ được không. Google mãi mà không xong. Cái này hình như có vẻ ít tài liệu :(.

  9. #9
    Ngày gia nhập
    04 2008
    Nơi ở
    Hue city
    Bài viết
    40

    Cái này mình cũng tìm nhiều mà chưa biết dùng thế nào. Giả sử mình có 2 request: req1 dùng để login, req2 dùng để post bài, mình cũng đã thử dùng CookiesContainer để lưu Cookie nhưng chỉ có thể login mà không thể lưu Cookie lại được mong các bạn giúp đỡ hoặc cho gợi ý để mình tìm hiểu tiếp. Cảm ơn nhiều !
    Vẫn hiểu là làm như thế này:
    1. Tìm hiểu về HTTP ( POST, GET , HEADER..)
    2. Tìm hiểu về các bước để post một tin lên 1 trang web
    2.1 vào trang đăng nhập
    2.2 gửi request đến trang
    2.3 nhận cookie sau khi đã gửi request
    2.4 tải trang đăng bài
    2.5 gửi nội dung và header vừa lấy được trong phần đăng nhập.
    Nhưng chưa làm được, mong mọi người giúp đỡ.
    Đã được chỉnh sửa lần cuối bởi loicuoi : 24-09-2011 lúc 01:33 AM.

  10. #10
    Ngày gia nhập
    05 2010
    Bài viết
    344

    up, ai giúp em vs

Các đề tài tương tự

  1. Trả lời: 0
    Bài viết cuối: 12-07-2013, 09:36 PM
  2. Tự động đăng nhập vào trang hdbitz.org và lấy session bằng winform C#
    Gửi bởi omega88 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 2
    Bài viết cuối: 16-03-2012, 02:48 AM
  3. Hệ thống đăng nhập dùng chung cho nhiều trang web
    Gửi bởi astrologic trong diễn đàn Thắc mắc lập trình ASP.NET
    Trả lời: 1
    Bài viết cuối: 01-12-2011, 07:29 PM
  4. [Thắc Măc] Làm sao đăng nhập vào web bằng WinForm
    Gửi bởi LOVEAi trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 25-05-2011, 10:39 AM
  5. Hướng dẫn chương trình đăng nhập đăng xuất trên Winform. Ai giúp mình?
    Gửi bởi son0nline trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 02-08-2010, 12:02 AM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn