Jump to content

Search the Community

Showing results for tags 'xnet csharp'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Loại nội dung


Diễn đàn

  • Ban quản trị
    • Thông báo
    • Phòng họp
    • Phòng kỷ luật
  • Ngôn Ngữ Lập Trình
    • C Sharp
    • C/C++
    • AutoIt
    • AutoHotKey
    • Python
    • HTML/PHP/Javascipt
    • REGEX - Regular Expressions
  • Thuê code - Nhận code
    • Góc bán hàng
    • Người thuê code
    • Người nhận code
    • Bóc phốt - Cảnh báo lừa đảo
    • Góc trung gian
  • Máy Tính - Internet
    • Tin Nóng
    • Thủ Thuật Internet
    • Thế Giới Trò Chơi
    • Hệ Điều Hành Windows
    • Phần Mềm
    • MMO
  • Nhà Kho
    • Thùng Rác

Lịch

  • Community Calendar

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Lọc bởi số lượng của...

Đã tham gia

  • Start

    End


Group


About Me

Found 2 results

  1. Xin chào các bạn. Hôm nay mình giới thiệu tới các bạn thư viện xNet do ông thần người Nga nào đó viết :") . Trước hết ta hiểu nôm na việc sử dụng thư viện xNet là dùng để giả lập request từ người dùng lên sever qua các method : GET, POST, PUT, DELETE. Ở bài viết này, mình sử dụng Visual studio 2017 pro và xNet version 3.3.0 (Link download thư viện xNet chính chủ) hoặc tải trực tiếp thư viện dll tại đây : Để bắt đầu với thư viện xNet, các bạn thêm thư viện cho code bằng cách : using xNet; Chú ý : Các request gửi đi nên thêm vào User Agent nhé. Ví dụ thứ 1 về gửi request GET tới trang bất kỳ để lấy về mã nguồn HTML của trang đó : để bắt đầu gửi 1 request ta sử dụng Httprequest chúng ta có thể set các giá trị mặc định cần thiết hoặc không cần cho request ví dụ như : header, watting time, address direct.... Ví dụ mẫu : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; string content = request.Get("Địa chỉ web").ToString(); } Ví dụ đơn giản về gửi 1 request tới trang web và lấy dữ liệu html của trang đó về, ta sử phương thức GET: using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; string content = request.Get("https://teamcodedao.com/forum/").ToString(); } Ví dụ thứ 2 về gửi 1 request POST tới trang web (thường dùng để đăng nhập, đăng bài, post ảnh..vv..v) : Cách 1 : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; MultipartContent Data = new MultipartContent() { {new StringContent("Admin"),"username" }, {new StringContent("123456"),"password" } }; string content = request.Post("https://teamcodedao.com/forum/",DataToSend).ToString(); } Cách 2 : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; request.AddParam("username","Admin").AddParam("password","123456"); string content = request.Post("https://teamcodedao.com/forum/").ToString(); } Cách 3 : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; var reqParams = new RequestParams(); reqParams["username"] = "Admin"; reqParams["password"] = "123456"; string content = request.Post("https://teamcodedao.com/forum/",reqParams).ToString(); } Cách 4 : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; request .AddField("username", "Admin") .AddField("password", "123456") ; string content = request.Post("https://teamcodedao.com/forum/").ToString(); } Cách 5 : using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; string DataPost = "key1=value1&key2=value2&key3=value3"; string Content_Type = "application/x-www-form-urlencoded"; // Tùy yêu cầu content type mà bạn thay đổi nhé string content = request.Post("https://teamcodedao.com/forum/",DataToSend,Content_Type).ToString(); } Ví dụ thứ 3 về gửi request kèm Cookies : thường thì sau khi login thành công 1 trang web, sever sẽ trả về cho chúng ta một thứ để biết đấy là chúng ta, cái thứ đó gọi là cookies. Để lấy cookies sau khi POST login trang web nào đó thành công ta sử dụng mẫu code như sau : * Trước hết là bạn post đăng nhập, và lưu lại cookie để có sau này xài. using (var request = new HttpRequest()) { request.UserAgent = "MeoMup"; MultipartContent Data = new MultipartContent() { {new StringContent("Admin"),"username" }, {new StringContent("123456"),"password" }, }; HttpResponse response = request.Post("https://meomup.000webhostapp.com/forum",DataToSend); string content = response .ToString(); string cookieLogin = response.Cookies.ToString(); } * Giờ đến đoạn request cùng với giá trị cookie : Đó là bước lưu lại cookies sau khi đăng nhập thành công, cookies lưu về có dạng name1=value1,name2=value2.... Lần tới muốn request lại ta chỉ việc nạp cookie vào như sau : HttpRequest request = new HttpRequest(); request.UserAgent = "MeoMup"; request.Cookies = new CookieDictionary() { {"name1","value1"}, {"name2","value2"} } // ở đây ta có bao nhiêu name, value thì ta nạp đủ bấy nhiêu vào nhé. Giờ ta chỉ viêc request tới trang chủ thôi string htmlContent = request.get("trang chủ").ToString(); Ví dụ về thay đổi phương thức request trong xNet (xnet request method) : ngoài 2 phương thức thông thường là GET và POST, chúng ta còn có các method khác như PUT, DELETE , chúng ta thay đổi method như sau : HttpRequest request = new HttpRequest() { UserAgent = "MeoMup", Cookies = new CookieDictionary(), }; string DataPost = ""; HttpContent Data2send = new StringContent(DataPost); HttpResponse response = request.Raw(HttpMethod.PUT, "https://www.teamcodedao.com", Data2send); // tương tự với method khác MessageBox.Show(response.ToString()); request.Dispose(); Cơ bản là thế :") . Trong khi request các bạn có thể còn gặp nhiều trường hợp hoặc vấn đề khác phát sinh, các bạn có thể reply tại đây mình biết thì sẽ giải thích cho các bạn . Good Luck !!!
  2. Chào các bạn ! Hôm nay mình sẽ hướng dẫn các bạn thực hành request Post đăng nhập vào forum xenforo và lấy cookie để cho các thao tác get Post sau này. Ở bài viết này mình sẽ sử dụng trang http://autoitvn.com/ , sử dụng visual studio code ngôn ngữ csharp và thư viện xNet để làm ví dụ nhé. Bước 1 : Các bạn vào trang http://autoitvn.com/ và nhấn F12 mở debug của trình duyệt lên xem. Bước 2 : Các bạn đăng nhập bình thường vào trang và mở lại tab Debug lên xem sẽ thấy rất nhiều request GET, POST. Ta chọn cái nào đây, do mình làm request POST để đăng nhập nên mình sẽ tìm các method POST, nhấn tạm vào cái link nào đó ở bên trái, và chọn ô Body ở bên phải, click chọn RequestBody để xem thông tin. Ta sẽ dừng lại ở link nào có đủ các yếu tố sau : Method = POST, link có RequestBody có chứa tài khoản và mật khẩu của bạn. Ta sẽ được như hình sau Bước 3 : Các bạn thu thập các param xftoken,cookie_check,ogin,password,redirect,register để xây dựng data gửi đi. mỗi param là 1 cặp có mẫu là name=value, chứng được nối với nhau bằng dấu "&", theo như request body kia, chứng ta sẽ xây dựng được DataPost như sau : xftoken=&cookie_check=1&login=Nick&password=Pass&redirect=%2F&register=0 Bước 4 : Code mẫu sẽ như sau : HttpRequest request = new HttpRequest(); request.UserAgent = "MeoMup"; // << các bạn phải lấy user agent đúng với trình duyệt các bạn đang dùng nhé. request.Cookies = new CookieDictionary(); // << do trang web có sử dụng đến cookie nên ta thêm dòng này vào HttpResponse response = request.Get("http://autoitvn.com/"); // << chứng ta phải request lần đầu để lấy session cookie response.None(); string DataPost = "xftoken=&cookie_check=1&login=Nick&password=Pass&redirect=%2F&register=0"; response = request.Post("http://autoitvn.com/login/login", Datapost , "application/x-www-form-urlencoded"); string KetQua = response.ToString(); File.WriteAllText("ketqua.html", KetQua); Bước 5 : Nếu các bạn nào chưa hiểu tại sao method POST được viết như thế thì hãy xem lại bài : Hướng dẫn cơ bản về thư viện xNet trong CSharp. Biến Ketqua sẽ chứa mã nguồn HTML của trang autoitvn.com đã login của bạn :") không tin bạn hãy mở trang ketqua.html vừa save lại ra mà xem sẽ thấy trang autoitvn offline với tài khoản của bạn. Trang của tớ có hơi khác chút do sử dụng mạng mobile :"). nhưng cũng giống nhau thôi, là trang đã login với tài khoản của mình. Bước 6 : Đến đây thì cũng coi như gần xong rồi, nhưng làm sao để lần sau không phải đăng nhập nữa mà vẫn ở trang login này => đó là ta phải lưu lại cookies để chạy mỗi lần sau.Code rất dễ dạng như sau : string CookieXenforo = response.Cookies.ToString(); Các bạn lưu data của CookieXenforo này lại, cookie này có dạng là name1=value1,name2=value2.... Lần tới muốn request lại ta chỉ việc nạp cookie vào như sau : HttpRequest request = new HttpRequest(); request.UserAgent = "MeoMup"; request.Cookies = new CookieDictionary() { {"name1","value1"}, {"name2","value2"} } // ở đây ta có bao nhiêu name, value thì ta nạp đủ bấy nhiêu vào nhé. Giờ ta chỉ viêc request tới trang chủ thôi HttpResponse response = request.Get("http://autoitvn.com/"); string KetQua = response.ToString(); File.WriteAllText("ketqua.html", KetQua); Oke men, thế là ta cũng được mã nguồn của trang chủ autoitvn.com với tài khoản đã đăng nhập rồi nhé. Chúc các bạn thành công.
×
×
  • Create New...