talaai1312_ver2
Member
Bài viết mang tính chất về kiến thức lập trình cho anh em, không nhằm mục đích phá hoại.
Trong bài này em xin chia sẻ cách làm tool post comment voz. Anh em có thể tùy biến sáng tạo tùy thích nhé Hiện tại đội ngũ dev chưa update capcha google nên mọi thứ khá dễ. Đợi update thì tool sẽ update sau.
Ok vô bài thôi nào, đầu tiên muốn biết post 1 comment lên voz như thế nào thì phải biết nó cần những gì. Bật chương trình bắt hết mọi traffic cho đến lúc post xong comment (mình dùng fiddler). Thu hoạch được 5 cái cần thiết
Tại sao cần phải GET trước khi POST? Ở 1 số website, bạn có thể post thẳng data luôn chả cần get gì cả đâu, nhưng ở đây khi POST data thì nó yêu cầu xfToken. Cái token này nằm ẩn ở website khi bạn GET về nên buộc phải GET nó.
Ok sau khi đã có hết mọi thứ thì viết tool thôi. Demo code snippet bằng C# bước 5. Bước này mình gặp khó khăn vì nó khá là mới với mình.
Mọi attribute post đều nằm trong data GET cả. Các attribute mình dùng thư viện HtmlAgilityPack để lấy. Ví dụ attachment_hash
Chúc các bạn thành công
-------------
Update tool tải tất cả các hình ảnh của các thread voz
https://next.voz.vn/threads/tool-tai-tat-ca-hinh-anh-1-topic.5387/
Link tải: https://drive.google.com/open?id=1DbwliQNID7cgAJb4MVMYhz2rx-5rN-Bg
Hướng dẫn sử dụng:
Trong bài này em xin chia sẻ cách làm tool post comment voz. Anh em có thể tùy biến sáng tạo tùy thích nhé Hiện tại đội ngũ dev chưa update capcha google nên mọi thứ khá dễ. Đợi update thì tool sẽ update sau.
Ok vô bài thôi nào, đầu tiên muốn biết post 1 comment lên voz như thế nào thì phải biết nó cần những gì. Bật chương trình bắt hết mọi traffic cho đến lúc post xong comment (mình dùng fiddler). Thu hoạch được 5 cái cần thiết
- GET - trang chủ https://next.voz.vn/
- GET - form log in https://next.voz.vn/login/?_xfRequestUri=/&_xfWithData=1&_xfToken=1584271768,0ae205ad6d03b27de7f56ce68216df9a&_xfResponseType=json
- POST - log in https://next.voz.vn/login/login - dataPost: login={user}&password={pass}&remember=1&_xfRedirect=https%3A%2F%2Fnext.voz.vn%2F&_xfToken=1584271776%2C39db907c9641da1068b6608a867b22c9
- GET - link cần comment - https://next.voz.vn/threads/abc.1/
- POST - comment - https://next.voz.vn/threads/abc.1/add-reply - dataPost multipart/form-data
Tại sao cần phải GET trước khi POST? Ở 1 số website, bạn có thể post thẳng data luôn chả cần get gì cả đâu, nhưng ở đây khi POST data thì nó yêu cầu xfToken. Cái token này nằm ẩn ở website khi bạn GET về nên buộc phải GET nó.
Ok sau khi đã có hết mọi thứ thì viết tool thôi. Demo code snippet bằng C# bước 5. Bước này mình gặp khó khăn vì nó khá là mới với mình.
Code:
var dataPostComment = new MultipartFormDataContent
{
{new StringContent("<p>Hello_World</p>"), "message_html"},
{new StringContent(valueHash), "attachment_hash"},
{new StringContent(valueHashCombine), "attachment_hash_combined"},
{new StringContent(valueLastDate), "last_date"},
{new StringContent(valueLastKnownDate), "last_known_date"},
{new StringContent(xfToken), "_xfToken"},
{new StringContent(uri), "_xfRequestUri"},
{new StringContent("1"), "_xfWithData"},
{new StringContent(xfToken), "_xfToken"},
{new StringContent("json"), "_xfResponseType"}
};
var responsePostComment = await httpClient.PostAsync(urlAddreply, dataPostComment);
var contentResPostComment = await responsePostComment.Content.ReadAsStringAsync();
return result;
Mọi attribute post đều nằm trong data GET cả. Các attribute mình dùng thư viện HtmlAgilityPack để lấy. Ví dụ attachment_hash
Code:
HtmlDocument doc = new HtmlDocument();
doc.LoadHtml(contentResLink);
HtmlNode nodeHash = doc.DocumentNode.SelectSingleNode("//input[@name='attachment_hash']");
string valueHash = nodeHash.Attributes["value"].Value;
Chúc các bạn thành công
-------------
Update tool tải tất cả các hình ảnh của các thread voz
https://next.voz.vn/threads/tool-tai-tat-ca-hinh-anh-1-topic.5387/
Link tải: https://drive.google.com/open?id=1DbwliQNID7cgAJb4MVMYhz2rx-5rN-Bg
Hướng dẫn sử dụng:
- File account.txt: Nhập username|pass. Vì next voz yêu cầu tài khoản để tải các hình attachment nên bắt buộc phải nhập nhé mấy thím. Không lộ acc đâu mấy thím yên tâm
- File link.txt: TẤT CẢ các link threads cần tải chỉ cần 1 lần duy nhất, mỗi link 1 dòng. Định dạng link|page-bắt-đầu|page-kết-thúc. Nếu muốn tải all page thì các thím cứ nhập page kết thúc 1000 hoặc 10000... Ví dụ https://next.voz.vn/threads/no-sex-test-dang-anh-nextvoz.613/|1|100 thì sẽ tải từ page 1 đến page 100.
Last edited: