31.7.22

C# HISTORY CHROME BROWSER

Hi mọi người, việc sao lưu lịch sữ trình duyệt website trên trình duyệt CHROME là điều bình thường đối với các trình duyệt website hiện nay. Nó giúp cho nhiều mạng quảng cáo hiển thị gần đúng nội dung mà bạn đang tìm kiếm trên internet và trong đó có mạng quảng cáo GOOGLE ADSENSE 

Chúng ta bắt đầu tìm hiểu nguyên lý và cơ chế lưu những tập tin lịch sữ của trình duyệt CHROME lưu trên máy tính nhé.

File History này sẽ lưu trữ những thông tin sau: 

  1. Lịch sử các đường dẫn website bạn đã truy cập.
  2. Các từ khóa bạn tìm kiếm
  3. Lịch sử tải dữ liệu download của bạn.
  4. Đếm số lần truy cập website...

Tập tin History này là tập tin Sqlite, các bạn có thể sử dụng chương trình đọc cơ sở dữ liệu SQLite lên để xem.
Ở dưới mình sử dụng Navicate ở xem.
Vì vậy công việc giờ các bạn muốn xem thông tin thì chỉ cần dùng C# để đọc dữ liệu lên là xong.
Các bạn cũng có thể xóa dữ liệu lịch sử Chrome này bằng code của mình một cách dễ dàng phải không nào.
Full source code View History Chrome Browser C#:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SQLite;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace HistoryChrome
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void btnGetHistory_Click(object sender, EventArgs e)
        {
            List<HistoryItem> allHistoryItems;
            string chromeHistoryFile = Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
        + @"\Google\Chrome\User Data\Default\History";
            if (File.Exists(chromeHistoryFile))
            {
                SQLiteConnection connection = new SQLiteConnection
                ("Data Source=" + chromeHistoryFile + ";Version=3;New=False;Compress=True;");
                connection.Open();
                DataSet dataset = new DataSet();
                SQLiteDataAdapter adapter = new SQLiteDataAdapter
                ("select * from urls order by last_visit_time desc", connection);
                adapter.Fill(dataset);
                if (dataset != null && dataset.Tables.Count > 0 & dataset.Tables[0] != null)
                {
                    DataTable dt = dataset.Tables[0];
                    allHistoryItems = new List<HistoryItem>();
                    foreach (DataRow historyRow in dt.Rows)
                    {
                        HistoryItem historyItem = new HistoryItem()
                        {
                            URL = Convert.ToString(historyRow["url"]),
                            Title = Convert.ToString(historyRow["title"])
                        };

                        long utcMicroSeconds = Convert.ToInt64(historyRow["last_visit_time"]);

                        DateTime gmtTime = DateTime.FromFileTimeUtc(10 * utcMicroSeconds);

                        DateTime localTime = TimeZoneInfo.ConvertTimeFromUtc(gmtTime, TimeZoneInfo.Local);

                        historyItem.VisitedTime = localTime;
                        allHistoryItems.Add(historyItem);
                    }
                    dataGridView1.DataSource = allHistoryItems;
                }
            }
        }
    }

    public class HistoryItem
    {
        public string URL { get; set; }
        public string Title { get; set; }
        public DateTime VisitedTime { get; set; }
    }
}

Như vậy là ok, các bạn có thể tùy biến cho phù hợp theo các bạn nhé. Chúc mọi người thành công

5 nhận xét:

  1. Mọi người cùng nhau tìm hiểu nhé.

    Trả lờiXóa
  2. Hiển thị được lịch sữ trình duyệt ẩn danh không mới nói kìa haha

    Trả lờiXóa
  3. CTRL + H cho nhanh chứ viết gì ba cái code này cho thêm nặng win nữa nè :))

    Trả lờiXóa
  4. Đúng r a. Tổ hợp phím đó là hiển thị lịch sữ duyệt web của m sữ dụng hihi. Nhưng m phải mất công kiểm tra thời gian, chứ k hiển thị chi tiết như ứng dụng a. Và có thể tùy biến theo khả năng của bản thân.

    Trả lờiXóa