作者No (you stay there)
看板AndroidDev
標題Re: [問題] WI-FI、Http狀態判斷
時間Wed Aug 31 23:53:16 2011
※ 引述《rj9rj9123 (MISS)》之銘言:
: 最近使用到 HttpPost 這個方法丟資料給網頁,網頁傳資料回來顯示
: 用這判斷連接網頁是否成功
: getStatusLine().getStatusCode() == HttpStatus.SC_OK
: HttpStatus.SC_OK 是 HTTP 200
: 補充:HTTP 200 代表網頁正常、404 代表找不到網頁、400 代表Bad Request
: 程式在正常的網路狀況下是執行正確的
: 我的問題來了
: 7-11或者公共場所提供的WI-FI要進入網頁登入帳號密碼才能使用
: 就算沒登入帳號,WI-FI狀態還是已連接、可使用的
: 去執行程式,傳回值是顯示登入WI-FI帳號的html的code...
: 不知道這種情況要如何來判斷是無法連結網頁的 ?
: 基本的code http://pastebin.com/icMzdLhp
要判斷這種情況
直接 request www.google.com 看回應是不是200
可能會有誤判的情況
像我學校的wifi一樣要登入
未登入時去 request www.google.com
它回應一樣給200,進而造成誤判
因為 response 的 Location header 被 HttpClient 處理掉
繼續 request redirect 之後的URL
可以用
HttpClient.setRedirectHandler(RedirectHandler redirectHandler)
觀察request www.google.com 時,是否被轉向到其他URL去
藉以判斷這種需要登入的網路有沒有通
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.252.99.120
推 rj9rj9123:超感謝No大回應我的問題! 我來研究看看 09/01 00:45
→ tomap41017:挖屋,學到一招,謝謝分享:) 09/01 18:25