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é
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
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
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 ...
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.
Đã 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.
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ợ