Google app javascript fake browser

Discussion in 'Hỏi Đáp Kỹ Thuật' started by wpresources, Feb 4, 2020.

  1. wpresources

    wpresources Bang Chúng

    Bạn nào biết cách hàm google app script hay javascript nào có thể giả truy vấn đến url là do trình duyệt gọi đến không? và nó có thể không.Ai biết giúp mình nhé
     
  2. Dang

    Dang Bang Chúng

    Trong docs của Google Apps Script có cho set headers, nhưng hình như thuộc tính user-agent không được hỗ trợ thì phải!

    P/S : Dùng Google Apps Script bị limit khá nhiều.

    Code:
    1. https://developers.google.com/apps-script/reference/url-fetch/url-fetch-app
    2. https://stackoverflow.com/questions/15067462/urlfetch-with-custom-user-agent-string
    3. https://stackoverflow.com/questions/25580394/does-urlfetchapp-support-user-agent-header
    
     
  3. wpresources

    wpresources Bang Chúng

    Mình thấy appscript nó cho chạy kiểu cron.Nên muốn fake browser để tận dụng gọi vài lệnh đơn giản trên web không nhiều.Bị nó chặn nên nhận được lỗi
    This site requires Javascript to work, please enable Javascript in your browser or use a browser with Javascript support
    Mấy cái bạn đưa đang test nhưng có vẻ không ăn thua lắm
     
  4. Dang

    Dang Bang Chúng

    Cron thì máy chủ + wget cũng thực thi được mà, đâu cần qua Google Apps Script làm chi! Còn bypass js thì mình không dám bàn :D ...
     
  5. wpresources

    wpresources Bang Chúng

    Máy chủ không chạy được nên mình thử nó đấy,thêm cái chạy máy chủ sau này sửa tham số trên nhiều host cũng hơi mệt.
    Mình viết không rõ có cần bypass gì đâu chỉ cần giả được cho thằng host nghĩ nó gọi từ trình duyệt để lệnh thực thi là được
    Mình đang chạy trên Java có cái trình giả lập trình duyệt htmlunit không cần giao diện cũng qua được.
     
  6. Dang

    Dang Bang Chúng

    Đã test và không thay đổi được user-agent, luôn trả về Mozilla/5.0 (compatible; Google-Apps-Script) :
    Code:
    function myFunction()
    {
        var page = UrlFetchApp.fetch('http://domain.name/test.php', {
            headers: {
                "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
            },
            "User-Agent": "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6"
        }).getContentText();
        Logger.log(page);
    }
    Hóng pro khác fix. Còn như theo "đề bài" của bạn :
    1. Cần fake user-agent và gửi request định kỳ.
    2. Máy chủ không chạy được cron và khó tùy chỉnh các tham số.

    Thì theo mình:
    1. Tạo 1 file .php để control (curl: tùy chỉnh user-agent các kiểu) trên 1 host cố định => dễ tùy biến
    2. Tạo Google Apps Script request đến url vừa tạo ở bước 1.

    Đơn giản nữa thì có js : new Image().src = "//your_url"; <= Khó khả thi và tùy chỉnh nhiều.
     
  7. wpresources

    wpresources Bang Chúng

    Lỗi này do các site host nói cần bảo vệ người dùng khỏi request không đáng tin.Cách chữa tạm thời mình tìm được thì có thể đăng ký dịch vụ trung gian như cloudfire.
    Còn thằng fake cho giống browser chắc không được.Cảm ơn bác đã hỗ trợ
     
    Last edited: Feb 4, 2020