Cách Lấy Response App Android Khi Dùng ADB & Thư Viện Kautohelper C#

Kautohelper

Nếu bạn đang gặp trường hợp sử dụng thư viện KAutoHelper của C# để điều khiển máy ảo Android, nhưng lại gặp vấn đề: Ban cần khi nhấn vào một app trên android thực hiện chức năng đăng nhập xong bạn muốn lấy kết quả trả về khi đăng nhập của app đó bởi khi app đó login thì sẽ gởi một lệnh đến sever sau đó sever trả về một token và bạn sẽ lấy response trả về để dùng regex lọc ra token đó. thì bạn có thể tham khảo cách giải quyết từ Coding Guru:

Các bước thực hiện

Để lấy kết quả trả về từ một ứng dụng Android sau khi thực hiện chức năng đăng nhập bằng thư viện KAutoHelper trong C#, bạn có thể thực hiện các bước sau:

Theo dõi Logcat

Kết nối thiết bị Android của bạn với máy tính và mở Command Prompt.

Chạy lệnh sau để xem logcat của thiết bị: adb logcat.

Tìm kiếm thông tin liên quan đến đăng nhập hoặc token khi bạn thực hiện đăng nhập trong ứng dụng.

Sử dụng KAutoHelper

Sử dụng KAutoHelper để thực hiện các thao tác đăng nhập trên ứng dụng Android.

Lưu ý thời điểm bạn nhận được token, vì bạn sẽ cần lấy log từ Logcat trong khoảng thời gian này.

Lọc Logcat để lấy Token

Khi đã biết thời điểm nhận được token, sử dụng một quy trình tự động trong mã C# để dừng quá trình logcat (adb logcat -c).

Sau đó, sử dụng ADB để ghi logcat vào một tệp tin (adb logcat > logcat.txt).

Đọc nội dung của tệp tin logcat.txt và sử dụng regex để lấy token từ log.

Ví dụ mã C#:

using System.Diagnostics;
using System.IO;
using System.Text.RegularExpressions;
class Program
{
    static void Main()
    {
        // Thực hiện các thao tác đăng nhập bằng KAutoHelper
        // …
        // Dừng logcat và ghi vào tệp tin
        ExecuteCommand(“adb logcat -c”);
        ExecuteCommand(“adb logcat > logcat.txt”);
        // Đọc nội dung từ tệp tin logcat.txt và lọc token bằng regex
        string logContent = File.ReadAllText(“logcat.txt”);
        string token = ExtractTokenFromLog(logContent);
        // Sử dụng token cho mục đích mong muốn
        // …
    }
    static void ExecuteCommand(string command)
    {
        Process process = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo();
        startInfo.FileName = “cmd.exe”;
        startInfo.RedirectStandardInput = true;
        startInfo.RedirectStandardOutput = true;
        startInfo.UseShellExecute = false;
        startInfo.CreateNoWindow = true;
        process.StartInfo = startInfo;
        process.Start();
        process.StandardInput.WriteLine(command);
        process.StandardInput.Flush();
        process.StandardInput.Close();
        process.WaitForExit();
        process.Close();
    }
    static string ExtractTokenFromLog(string logContent)
    {
        // Sử dụng regex để lọc token từ log
        string pattern = @”your_regex_pattern_here”;
        Match match = Regex.Match(logContent, pattern);
        if (match.Success)
        {
            return match.Value;
        }
        else
        {
            return “Token not found”;
        }
    }
}

Lưu ý: Bạn cần thay thế “your_regex_pattern_here” bằng biểu thức chính quy phù hợp với định dạng của token trong logcat.

Trên đây là đoạn hướng dẫn của Coding Guru khi bạn không chụp hình full cửa sổ Auto Nox trên C#. Hi vọng bài viết này hữu ích với bạn!

Xem thêm: Cách Chụp Full Cửa Sổ Auto Nox Trên C# Bằng Thư Viện Kautohelper

Leave a Reply

Your email address will not be published. Required fields are marked *