App Inventor學習記錄193-判斷網路有沒有連線及維基百科http狀態碼

前陣子遇到一個問題,要抓一個 xml網頁的資料,結果怎麼抓都抓不到。只好先從網路有沒有連線開始判斷。最後才發現問題出在我網址打錯了……http和 https是不同的。

記錄一下:App Inventor學習記錄193-判斷網路有沒有連線及維基百科http狀態碼


這次完成的範例檔如下。

這裡我設定了三個網址,分別是 google的首頁,和前面說到最前面是 http和 https帶頭的網址。
google首頁原則是不會有什麼問題,所以拿來判斷是否連線正常是挺方便的。
後兩個則是我這次遇到的錯誤代碼 302問題。


畫面編排的部份如下。

這裡補充說明一下,在 app inventor中,webview網路瀏覽器元件和 web網路元件是不同的東西
webview網路瀏覽器元件,就是單純的用來顯示網頁用的

如果我們要抓網路上的資料,像是 google sheet,xml,josn等等的資料,我們都要用 web網路元件來做。這次用來顯示網路錯誤代碼的方塊,也是放在 web網路元件下的,所以請要記得拉 web元件進來。


全部的程式方塊如下。


首先,先建起來清單網址的部份。

檢查網址清單中,放了三個網址。
googleurl這個變數,目前放的是 google首頁的網址。


接下來的方塊。

when screen1.initialize螢幕初始化的時候。
set spinner.elements to get global 檢查網址,把下拉式選單的元件,設定成檢查網址這個清單。

when spinner.after selection,在下拉式選單完成選擇後。
set web 1.url to spinner1.selection,把網路元件的網址,設定成下拉式選單的選中項。
call web 1.get,呼叫網路元件取得資料。

when button 1.click,當按鈕 1按下的時候。
把標籤_檢查結果的文字,設定成 checking。
把網路元件的網址,設定成 global googleurl這個變數。
call web1.get,呼叫網路元件取得資料。


when web1.got text,當網路元件從設定的網址取得資料之後。

在這個方塊中,response code的值,就會回到 http的狀態碼,我們就可以針對狀態碼的不同,就可以用判斷式做不同的處理。我只知道 200和 404這 2個比較常用的代碼……其它http狀態碼,請參考:維基百科 http狀態碼

接著,我們就針對不同狀態碼做條件判斷。
如果 response code的值是 200,就顯示連線正常。
如果 response code的值是 404,就顯示找不到這個網頁。
如果狀態碼是 200和 404以外的數字的話,就打開維基百科,看一下出現的狀態碼倒底是什麼意思。
維基百科狀態碼

好的,全部的程式方塊都簡單說明過了,建議大家試著做一次,就會用的越來越熟。
但如果不想要重新拉程式方塊,或要需要範例 aia檔的話,請前往第 2頁哦!

發佈留言