Admin 838 Đã viết 1/12/2018 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 : Trích dẫn https://openload.co/f/XHFWj6Od7Kg Để 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 !!! 8 6 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Admin 838 Đã viết 27/01/2019 Ví dụ tiếp theo về xNet đó là add giá trị header vào gửi kèm cùng request GET hoặc POST using (var request = new HttpRequest("https://teamcodedao.com/forum")) { request.Cookies = new CookieDictionary() { {"hash", "yrttsumi"}, {"super-hash", "df56ghd"} }; request[HttpHeader.DNT] = "1"; request["X-Secret-Param"] = "UFO"; request.AddHeader("X-Tmp-Secret-Param", "42"); request.AddHeader(HttpHeader.Referer, "https://teamcodedao.com/forum"); request.Get("/"); } Ví dụ về add Proxy hoặc Socks cho xNet . Cái này chắc nhiều bạn làm về MMO thì chắc cần nhỉ :) Nội dung ẩn Bạn cần Reaction hoặc trả lời chủ đề này để thấy nội dung bị ẩn. Ví dụ tiếp theo về xNet đó là lấy giá trị header : Nội dung ẩn Bạn cần Reaction hoặc trả lời chủ đề này để thấy nội dung bị ẩn. 54 3 2 2 1 13 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
mnonline 1 Đã viết 27/02/2019 Sơ sài quá. 1 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Admin 838 Đã viết 27/02/2019 2 giờ trước, mnonline said: Sơ sài quá. Bài này chỉ hướng dẫn cơ bản thôi bác các phương thức GET, POST và cookies được sử dụng liên tục là chính nên iêm cũng chỉ giới thiệu cấu trúc lệnh và chức năng đó của thư viện thôi. Còn muốn tìm hiểu sâu, kỹ về thư viện xNet thì phải có 1 bài chi tiết nâng cao chứ, để mà nói sâu cho các bạn mới thì họ lại chưa cần tới. Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
quancap2591 135 Đã viết 21/03/2019 admin chuyên C# hả, kết bạn chỉ giáo tui vài thứ nha 1 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Hố Hố Hố 0 Đã viết 22/03/2019 cảm ơn ad Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Admin 838 Đã viết 8/04/2019 On 21/3/2019 at 18:33, quancap2591 said: admin chuyên C# hả, kết bạn chỉ giáo tui vài thứ nha bạn cần tìm hiểu thêm gì có thể post tại đây ,mình biết thì sẽ rep cho bạn cùng học hỏi :3 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Đồn Vũ 0 Đã viết 12/05/2019 thanks bác. Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Trần Công Trường 0 Đã viết 28/05/2019 nice Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Cường Đỗ 0 Đã viết 29/05/2019 ad cho hỏi muốn request phương thức PATCH trong xNet thì làm sao ạ? Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Admin 838 Đã viết 1/06/2019 On 29/5/2019 at 15:34, Cường Đỗ said: ad cho hỏi muốn request phương thức PATCH trong xNet thì làm sao ạ? đây bạn nhé Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
lisatthu35 20 Đã viết 10/06/2019 On 27/1/2019 at 12:38, Admin said: Ví dụ tiếp theo về xNet đó là add giá trị header vào gửi kèm cùng request GET hoặc POST using (var request = new HttpRequest("https://teamcodedao.com/forum")) { request.Cookies = new CookieDictionary() { {"hash", "yrttsumi"}, {"super-hash", "df56ghd"} }; request[HttpHeader.DNT] = "1"; request["X-Secret-Param"] = "UFO"; request.AddHeader("X-Tmp-Secret-Param", "42"); request.AddHeader(HttpHeader.Referer, "https://teamcodedao.com/forum"); request.Get("/"); } Ví dụ về add Proxy hoặc Socks cho xNet . Cái này chắc nhiều bạn làm về MMO thì chắc cần nhỉ :) Nội dung ẩn Bạn cần Reaction hoặc trả lời chủ đề này để thấy nội dung bị ẩn. chạy thông qua ssh thì sao bạn 1 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
Thiên Chi Kiều Nữ 920 Đã viết 10/06/2019 @lisatthu35 có 2 cách 1 là bạn chạy cmd của bitvise để chạy ssh, 2 là bạn sử dụng thư viện renci ssh để tạo kết nối sock với ip, user, password 1 Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
US Ship 0 Đã viết 26/08/2019 thank admin Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites
paipai 0 Đã viết 8/09/2019 E dùng post để reg tài khoản. Reg được vài cái thì nhảy ra lỗi 403. Trong khi đó reg trên trình duyệt vẫn bình thường? Mọi người chỉ cách e với ạ. E cảm ơn! Trích dẫn Chia sẻ bài đăng này Link tới bài viết Share on other sites