其實, 不需要什麼額外的工具, 可以先去看自己喜歡的坐位編號是多少,搶票前幾秒,在瀏覽器的Console (除錯主控台) 裡不停地貼上下面的腳本你就可以搶到票了。
首先是怎麼知道坐位編號, 請先前往網址:
https://tickets.udnfunlife.com/Application/UTK02/UTK0222_02.aspx?PRODUCT_ID=P0CL4JG7
在「立即購票」按右鍵,檢視後,就可以看到一個 fastcode=”xxxx” 的欄位, 這串數值就是坐位編號。
在 Windows 請按 F12 或 Ctrl + Shift + I, 在 macOS 請按 Cmd+Option+I, 即可叫出開發者工具(DevTools),在畫面的 Console 分頁裡的貼上下列的程式碼:
fetch("https://tickets.udnfunlife.com/Application/UTK01/UTK0101_009.aspx/AUTOSEAT_BTN_Click", {
"headers": {
"accept": "/",
"accept-language": "en-US,en;q=0.9,zh;q=0.8,zh-TW;q=0.7",
"content-type": "application/json; charset=UTF-8",
"sec-ch-ua": "\"Google Chrome\";v=\"119\", \"Chromium\";v=\"119\", \"Not?A_Brand\";v=\"24\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\"",
"sec-fetch-dest": "empty",
"sec-fetch-mode": "cors",
"sec-fetch-site": "same-origin",
"x-requested-with": "XMLHttpRequest"
},
"referrerPolicy": "strict-origin-when-cross-origin",
"body": "{\"FAST_PRICE_TYPE_ID\":\"69971\",\"QRY\":\"2\",\"CHK\":\"null\"}",
"method": "POST",
"mode": "cors",
"credentials": "include"
}).then(function (response) { return response.json(); }).then(function (data) { if(data.d.ReturnData.script.indexOf('top.location.href')>-1){eval(data.d.ReturnData.script)};
});
說明: FAST_PRICE_TYPE_ID 填入 fastcode, QRY 填入張數。
執行結果傳回什麼,可以在 Network 的分頁裡看到錯誤或購票成功訊息。有成功購票的話, 網址變切換到購物車清單:
https://tickets.udnfunlife.com/application/UTK02/UTK0206_.aspx
應該所有的瀏覽器都可以這樣子弄。
這個購票的方式,udn官方應該會很快來修補,我猜。