close

明明知道問題發生的地方,但是每次除錯前都需經過好幾道手續

這種狀況也是常常在工作中遇到的

  • 明明可以確定問題出在這段程式碼之中,但是每次要到達這達程式碼之前,必須先在網頁上填寫一大堆資料才能送出。

  • 或是資料是由其他專案送出,甚至是手機APP傳送過來的,每次程式改完,都要去麻煩對方重新操作後,才能測試。

真的很常在工作中遇到上述的這二種狀況,而且最討厭的是,明明已經處在Debug模式中了,程式也進入中斷點,卻不小心按到「繼續執行」鍵,中斷點就跑掉了,只能再經過一段麻煩的手續後,才能重新進入中斷點。

有沒有辦法能讓我們簡略這段麻煩的步驟,快速進入程式的中斷點呢?當然是有的,即然在本章中將這種狀況列出來,表示我們有一些小技巧可以處理這種狀況。

 

 

小技巧:快速送出封包

其實HTTP資料傳輸的原理,對一個寫程式的工程師來說,就是把二台機器的Socket(連線)接通,然後開始傳輸資料;所以理論上,從瀏灠器上送到伺服器的資料,也可以利用這種原理來達成。

基於這個道理,我們希望有一個工具,要能夠達到下列二種要求,

  1. 快速建立二邊機器的Socket(連線)。

  2. 能夠輸入資料。

有沒有這樣的一種小工具呢?答案是有的,那就是telnet程式。

介紹一下telnet:

telnet因為具有上述二種特性,所以最常被應用的地方叫BBS;它可以快速地與遠端的伺服器建立連線,並透過簡單的文字輸入,達成雙向的溝通;其中最具代表性的BBS,就是批踢踢。

 

準備工具:telnet(Windows、Linux base)

前提:需安裝telnet程式(下方會解說如何安裝),並有封包資料可供送出(如果沒有,可透過狀況B的小技巧,擷取封包)。

狀況說明:我們將利用telnet程式,直接傳送HTTP封包到伺服器,並取得回傳資料。

為了解說的方便,我們延續狀況B的環境,如下圖:

Untitled.png

下列步驟適用Windows系統:

在執行telnet前需先安裝,安裝成功後,未來執行即可略過安裝步驟。

  1. 控制台→解除安裝程式

  1. 選擇左方的「開啟或關閉Windows功能」。

  1. 經過一分鐘左右的等待,勾選「telnet用戶端」後,按確定。

  1. 安裝中。

  1. 要求重新啟動,但是可以不用重新啟動,所以選擇「稍後重新啟動」。

上方是整個Windows安裝telnet的流程,如果你曾經安裝過,那麼就可以省略上述的步驟。

接下來要啟動telnet來送出封包。

  1. 開啟cmd指令列

  1. 輸入telnet 192.168.21.35 8080

  1. 按Enter後進入空白畫面,代表建立連線成功,接下來貼上已準備好的封包。

  1. 在Windows的cmd視窗中,不知道為何看不到送出的封包資料,只能看到伺服器回傳的資料,下方是伺服器回傳的資料。

很簡單的完成我們的目,上方圖片是在Window的環境下完成的,下一篇我們再來看Linux base 的環境。

arrow
arrow

    JAVA Programmer 發表在 痞客邦 留言(0) 人氣()