[分享]台大醫院 網路掛號技巧

# 20200813 更新第二集~
# 20200424 更新程式碼,因官方有調整內部規則,提供新的方式找出網址,詳細請看Github
# 20200411 更新影片,位置在最下面~
---------------------------------------------------------------

事情是這樣的,
因為智障齒開始長出來,
超級痛啦,想要吃飯嘴巴只能微微張開,
張太大口吃飯會痛,張太小口又吃飯吃很慢T_T
尤其小弟我口腔上排智齒都是斜的,
下排更是水平...

看了網路上割切挖的影片後...雖然很可怕但還是下定決心該處理了QQ
總之查了各家醫院...
去了離家最近且很有名的康寧醫院找董事長大人,
沒想到被打槍...因為我這個狀況是要進行小手術的,
....................
....................
....................
好吧各種利用上(ㄓㄨㄤ )班(ㄇㄤˊ)時間爬文,
就決定是你了,台大口腔顎面外科的章浩宏醫師

理由一:離公司近
理由二:台大94棒
理由三:為了之後可以寫這篇(?

至於為何選擇章醫師?
反正就是一直網路上爬文就看到這位醫師很666,
接下來就是開始等待0:00搶網路掛號了...
可以搶兩週後的醫生,
於是乎用網站搶了幾天...完全搶不到啊,而且我就是要章醫師拉!

23:59:59重整網頁,終於從名額已滿變成掛號
正當我要移動滑鼠過去按的時候...
已經從掛號變成名額已滿了=_=
傻眼0.5秒就搶完了?

於是就開始在想是怎樣,
是有機器人在搶是不是...
後來還發現了這個


改用APP也是很鳥,不會自動刷新,一定要0:00準時重按,
重按是指要回到選牙科那邊重按= =
重點是不知道有多少人要搶只有少少的1~2個名額..

想了想屁勒0.5秒就掛完了是怎樣?
於是開始考慮打算寫程式去搶掛號,
結果在測試的時候發現網址的編碼規則,
然後想了一下之後就搶到了XDDD
既然搶到了...那我也懶得寫程式了哈哈哈(好懶
不過還是分享一下思路吧XD

---

那搶掛號思路是這樣的:
我在寫爬蟲的時候發現其實可以得知下兩週網路掛號的網址,
但是網址長這樣:
https://reg.ntuh.gov.tw/webadministration/RegistForm.aspx?newx=UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkANAAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAyADcAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA0KAA2

看起來一坨噁心的東西如下,根據經驗應該是某種編碼方式ㄅ
UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkANAAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAyADcAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA0KAA2
於是丟到 https://www.base64decode.org/ 解出來發現:
  1. UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkAMgAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAxADMAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA2
  2. Base64 解密後:
  3. ServiceIDSE=3800392&EncryptCode=T0DENT0820190613&useDrRestCnt=
  4. UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkAMwAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAyADAAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA2
  5. Base64 解密後:
  6. ServiceIDSE=3800393&EncryptCode=T0DENT0820190620&useDrRestCnt=
  7. Base64 解密前:?
  8. ServiceIDSE=3800394&EncryptCode=T0DENT0820190627&useDrRestCnt=
可以觀察到解密後,ServiceIDSEEncryptCode 應該是有規則的,
聰明如你應該知道下一個規則是
ServiceIDSE=3800394&EncryptCode=T0DENT0820190627&useDrRestCnt=
吧XD

但你會發現你要base64 encode回去會完全跟原本網址不一樣,
原來是中間有塞一些渣渣呢...但是不會顯示在網頁上,
總之最後長這樣:

之後編碼回去後就得到下兩週後的網址啦,
但訪問之後輸入完資料、驗證碼後,
"母湯歐,時間還沒到你不能預約唷"

但由於他們驗證碼不會刷新,
所以...嘿嘿嘿,
聰明的你應該知道有種東西叫做連點程式,
隨便找個連點程式瘋狂連點就好了XD
到這邊還滿有信心應該可以搶贏的,
就算機器人有用CNN辨識驗證碼的圖片也是需要時間,
我可是完全不需要有輸入驗證碼的時間,99.99%不會輸!!


於是乎就搶到啦,
當時還在想哪有這麼簡單,人家可是掛號機器人狂掛誒,
還想說要用多台電腦一起連點....
結果當天0:00才意識到「乾,要搶票了ㄟ」
趕快到筆電前看....
哦哦哦搶贏啦XDD
直接進入到輸入資料的頁面(據悉是第一次網路掛號的時候需要填寫)
填完就掛號成功啦~~



---

20190907狀況更新(術後一週):

第一次去掛號時要先到牙科部填資料,
然後再到口腔顎面外科報到,
人有夠多大家都在等...所以要早點報到XD

會先照X光,實習醫生(感覺是個清秀妹紙,講話很風趣XD可惡好喜歡)會告知手術有風險
:「可能傷到神經,屆時你會有麻麻的感覺,但是只會你知道,我知道,別人不知道XD」

後來輪到我看診,
章醫師會親切講解,有解釋我的狀況,
建議我全身麻醉一次拔四顆,
要我好好考慮一下,下週回診告訴他,再安排手術時間

於是跟我媽考慮完決定一次拔一邊,
下週四準時報到告知拔一邊,並安排手術時間(2個月後)

---
20190829
時間來到手術日前一週...
護理師打過來告知:「
因為下週章醫師臨時要開會,問我能不提前一週,也就是今天手術,
原本安排今天手術的病患出國了之類的...」

我考慮了一下後說:「好....我盡量18:00以前報到(乾 超突然的」,
結果因為病患太多等到八點半多才輪到我...

總之一開始實習醫師(換成一個帥哥ㄌ,可惡我想要上次那位妹紙XD)
一樣告知術後風險等等的注意事項!@#$%^&,
就開始上麻藥了

過一陣子章醫師處理完前面一位後終於來到我這兒了
我只能說章醫師算厲害但有點小看我的水平智障齒功力(?)

右上角相對好拔,雖然是斜的XD
經過拉、轉還有各種%%聲(你去拔就知道惹XD)後
感覺不到10分鐘就拔完

右下角水平智齒就比較麻煩,
切割的燒焦味超臭,
消毒藥水也很噁..

處理到後面原本章醫師以為可以夾出來,
但一直夾不出來,就說我的牙根太強壯了Q_Q
又繼續切割...最後才完成,
弄完還會再檢查有沒有碎片殘留再縫起來
總共弄了一小時多吧T_T(含跟實習醫師聊天+上廁所+麻醉)

再來就是術後保養...
幹,真的超痛苦的,麻藥退之後會很痛,
第一天晚上痛到差點睡不著....
開的藥一定要吃,因為右下手術時間比較久,

真的超腫,整整腫了一週直到拆線嗚嗚嗚嗚嗚嗚
反正就是冰敷,瘋狂冰敷,不要偷懶!!
因為我隔天還要上班就沒冰敷,晚上還跟朋友出去看電影,
吃了阿宗麵線(還吃大碗XDDD加一點辣和蒜)
隔天整個又腫起來..........(不要吃刺激性食物和酒類)
再隔一天又去唱歌,好險唱歌還好不太會痛(?)

吃飯真的歪左邊吃,前幾天盡量都吃軟嫩的食物,
像是布丁、豆花等等的
上班日中午有嘗試跟同事去吃水餃,
真的有夠難受....把水餃切一半,用筷子塞到左邊吃,
咀嚼一下就痛一下...根本就是:
一時咀嚼一時痛,一直咀嚼一直痛= =

後來拆線的時候,
實習醫師(摁摁也是妹紙><)說我上面牙齒有咬到下面的肉
(難怪我吃東西超痛苦嗚嗚嗚嗚嗚)


---
來張智障齒照XD
血腥防雷...
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.


---

下一次就是弄左上智齒了(斜的,有稍微露出來),
至於左下包覆著神經....但好險還沒長出來,
可能不太會想拔左下^^"

--- 11/11更新---

11/07 這次是去拔左上的智障齒~
心得如下XD



哦對,因為只有縫一針,昨天漱口漱一漱線就掉出來了....= =||
那這樣是不是不用去拆線了XDDD

另外陸陸續續有些網友email問我問題,
也有人找到小弟FB...QQ
怎麼講,其實文章內容應該算講解得很清楚了,
基本上有圖文並茂附上自己進度卡住的部分我還是會回啦(斟酌回)
剩下就是自己如何努力惹...^^"

不然有機會再錄個影片教學好了:P

---

影片弄好了好累R,再幫忙訂閱一下吧:P


第二集出爐~

留言

  1. 請問方便私訊中間穿插的暗碼嗎?

    回覆刪除
  2. @Kevin Peng
    建議你用開發者工具解出來貼到記事本上
    因為在頁面上顯示不出來XD(所以我才用圖片表示

    回覆刪除
  3. 我試了很久還是弄不出來,請問一下推出規則後,要怎麼編碼回去Base64的字串(之後編碼回去後就得到下兩週後的網址),最近也是想網路掛號,但一直搶不到~

    回覆刪除
  4. @HelloWorld 請參考2F提示哦XD

    回覆刪除
  5. 請問如果是不同科不同醫生的名字要怎麼樣才找出像你下面的網址? thank you :)

    ============================================================================
    那搶掛號思路是這樣的:
    我在寫爬蟲的時候發現其實可以得知下兩週網路掛號的網址,
    但是網址長這樣:
    https://reg.ntuh.gov.tw/webadministration/RegistForm.aspx?newx=UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkANAAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAyADcAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA0KAA2

    回覆刪除
  6. Hello,

    我找出不同科不同醫生的規則! 但當我把 ServiceIDSE=3800394&EncryptCode=T0DENT0820190627&useDrRestCnt= 編碼回去Base64 (我google base64 encode隨便點一個網站進去) , 他出現的亂碼跟你的不一樣. 他是長這樣U2VydmljZUlEU0U9MzgwMDM5NCZFbmNyeXB0Q29kZT1UMERFTlQwODIwMTkwNjI3JnVzZURyUmVzdENudD0= 我怕他貼到網址上,網頁出現"陣列不能為 null。參數名稱: bytes". 用幾個別的base64 encode的網站還是不行. 你推薦的網站http://base64.org/ 也不能用,請問還有什麼辦法嗎?

    回覆刪除
  7. @ Unknown
    提示如2F

    我分享的初衷雖然是希望大家能比較好搶到掛號
    但是還是覺得要付出一點努力哦
    謝謝!!

    回覆刪除
  8. 版主您好:我今早5點45分守在電腦前想掛6點開放的慈濟醫院一位醫師的門診,只有5個名額,也是時間一到馬上掛號,卻馬上出現已掛滿。我是電腦幼幼班,只會使用基本電腦功能,程式語言對我是無字天書,請問有甚麼方式可以掛到號,還是只有花錢請幫跑腿的專業呢?

    回覆刪除
  9. 不是每一個醫生的ServiceIDSE都有規律, 像我剛剛想掛台大醫院腦神經外科的賴達明醫師12月2日的門診就完全猜不出ServiceIDSE 11/18 3857221跳 11/25 3867343跳 12/2 3875976,這個我完全猜不出來,最後00:00到了用手點的時候才知道號碼是多少,不過為時已晚。。。

    回覆刪除
  10. @Kevorex 感謝分享XD
    小弟我當初只有測口腔顎面外科,規律滿正常的很好猜,
    其實像你這種狀況就只能一直暴力猜測了~

    回覆刪除
  11. 作者已經移除這則留言。

    回覆刪除
  12. 您的做法對我很有幫助,已經能進出了,但我遇到的醫生的ServiceIDSE也沒有規律,只知道ServiceIDSE前三碼是390,但因為將ServiceIDSE=3905261&EncryptCode=T0SURG0820191217&useDrRestCnt=這一行貼到別的地方就會讓某些看不見的數值不見,所以我不能把ServiceIDSE用程式跑1~9999,目前用手動方式一一嘗試,但十分沒有效率,也擔心手殘錯過了正確的號碼,想請問您有沒有保留那些看不到數值的方法呢?就是那個解碼完會變成菱形中有問號的那些碼,感謝您!!!!

    附註:我是替母親掛號,已經肺部陰影2公分,醫生懷疑是腫瘤要盡快手術,但母親十分畏懼開刀,好不容易說服母親去台大找有名的醫生看,卻苦於連續兩週掛號搶不到,倘若您可以給我些建議,感激不盡!!!

    回覆刪除
  13. 作者已經移除這則留言。

    回覆刪除
  14. 作者已經移除這則留言。

    回覆刪除
  15. @GYSITG 同一個時段的下個禮拜的門診的ServiceIDSE前三碼不一定跟上禮拜一樣喔,還有base64中參雜的亂碼其實沒什麼意義,我之前都用下列的網站解碼跟加密:
    http://www.utilities-online.info/base64/
    不過要記得每次加密回去之後要把後面那幾碼弄的跟原本的一樣就可以了
    有關ServiceIDSE的猜法還有待高人破解, 目前還說除了把舊的加1之外也沒方法了, 反正我後來去掛長庚看了也蠻好的

    回覆刪除
  16. @Kevorex 我知道ServiceIDSE前三碼不一定一樣,不過這一位的前三碼都是+1變化。參雜的亂碼真的煩,我還沒有找到可以將它保留,並放進迴圈的作法,目前只能每次把ServiceIDSE的後四碼,從0000開始每次+1,至於把後面那幾碼弄回原本,我用matlab寫了一個迴圈,幫助節省一些時間
    clear
    clc
    datafilename = '1206.xlsx';
    [a,b] = xlsread(datafilename); %a那一行是0~9999,協助我知道ServiceIDSE後四碼嘗試到哪了,b那一行則是已經編碼完
    str1 = 'https://reg.ntuh.gov.tw/webadministration/RegistForm.aspx?newx=';

    lcl=zeros(9999,3);
    fid=fopen('1206.csv','w'); %開一個csv檔
    for i=1:13
    kk = b{i,2};
    gg = kk(1:166); %由於編碼之後,後兩碼會是錯誤的,將它刪除
    fprintf(fid,'%s%s2\n',str1,gg); %把網址與編碼結合,並在最後加上原本的2,就可以形成連結
    end
    fclose(fid); %關閉檔案

    感謝你的講解,希望可以趕快掛到號並帶母親去檢查

    回覆刪除
  17. 我看你們都把預約連結找出來了,例如:

    https://reg.ntuh.gov.tw/webadministration/RegistForm.aspx?newx=UwBlAHIAdgBpAGMAZQBJAEQAUwBFAD0AMwA4ADAAMAAzADkANAAmAEUAbgBjAHIAeQBwAHQAQwBvAGQAZQA9AFQAMABEAEUATgBUADAAOAAyADAAMQA5ADAANgAyADcAJgB1AHMAZQBEAHIAUgBlAHMAdABDAG4AdAA9AA0KAA2

    我的問題是我要的醫生都寫"名額已滿",所以你們是從哪裏找出預約頁的連結? 還是所有醫生的網頁都同樣格式? 謝謝

    回覆刪除
  18. @GYSITG 大神,小弟向您膜拜(雖然我都看不懂哈哈)

    回覆刪除
  19. 把預約連結回推,更改ServiceIDSE與EncryptCode,這兩個都會因為不同醫生與時間而不相同,但是網頁格式都是相似的,而且你根據修改後的連結進去,肯定不會寫「名額已滿」,因為這時候還不能預約。

    謝謝Kevorex稱讚,不過也感謝作者提供的思路呢。

    回覆刪除
  20. 我跑了一下,現在這個bug好像被修掉了
    都不會回應500,直接回應你一個空的頁面然後說該診還尚未開放網路掛號

    而且在跑的時候有時候還會timeout 苦惱~

    回覆刪除
  21. 回大家:因為爆破會造成伺服器負擔,看來人家網管有對單一IP進行連線限制,
    所以目前有提供另一種方法,再請參考看看XD

    回覆刪除
  22. 請教版主,我目前要掛的醫師也是ServiceIDSE無簡易遞增的規律(+1),想詢問您說的方法怎麼樣可以去解出呢?感謝

    回覆刪除
  23. 您好,
    請問我要如何使用開發者工具解出encode回去的亂碼呢?我有打開Chrome網頁上的開發者工具,想問是要先把亂碼https://reg.ntuh.gov.tw/webadministration/RegistForm.aspx?newx=U2VydmljZUlEU0U9NDI4ODg1MiZFbmNyeXB0Q29kZT1UMERFTlQwODIwMjAwODgyJnVzZURyUmVzdENudD0=開啟一個新網頁然後在該網頁上打開開發者工具然後亂碼會顯示在哪個地方嗎? 還是我的操作有錯誤呢?因為我不太懂程式,目前卡住了,是否可以給一點提示QQ 謝謝!

    回覆刪除
  24. 我看現在前一天晚上下午六點的還是直接把尚可掛明日的醫師的那個Javascript複製貼上到想要掛的醫師的網頁裡比較快吧,又快又簡單,只是開放時間我現在還是摸不透,因為我之前有一次發現下午5:58正常途徑就開放讓人點進去填表掛號了

    回覆刪除
  25. @Kevorex你說的方式可以再白話一點嗎?因為我不是學程式的看不太懂QQ但明天就要搶名額了,可否教我...

    回覆刪除
  26. Hi ALL
    我有更新第二集,內容是用另一種方法找出掛號網址,不需要進行爆破,再麻煩大家多多參考~!
    喜歡的話可以幫我按Like給予一點支持哦,謝謝!

    回覆刪除
    回覆
    1. 請問您在jupyter的code 有文檔可用嗎?或是由影片裡
      可以直接參考即可.

      刪除
    2. Hi 您好,有哦,
      影片說明欄有附code

      刪除
  27. 我爸罹癌 需要代掛 我不會寫程式 您可幫忙嗎 ?

    回覆刪除
    回覆
    1. 大大這可能付錢請人家搶比較快...QQ

      刪除

張貼留言