2011-07-08 8 views
0

インターネットアクセスが許可される前にブラウザのフォームを完了する必要がある場合、Wi-Fi接続に問題があります。ユーザー(ブラウザを使用している場合)はログインフォームにリダイレクトされ、ログインするかwifiアクセスをサインアップします。 ユーザーはブラウザを使用していませんが、アプリケーションからサーバーへのリクエストはログインフォームにリダイレクトされ、サーバーに到達できなくなります。この動作を検出し、少なくともユーザーにその問題を警告する上品な方法がありますか? 多くの場合、モバイルネットワークが利用可能であり、Wi-Fiをオフに切り替えることが必要です。リクエストがリダイレクトされてサーバーに到着したとき

答えて

0

HTTPリダイレクトには特定の応答コード(300個から307個までの特定の応答コード)があります。あなたは、あなたが接続を持っていると仮定する前にresponseCodeを読んで、その時点からの失敗を処理することができます。

リダイレクトには応答ヘッダーにLocation値も含まれている必要があります。その値をキャプチャしてWebViewを起動し、LocationをURLとして渡してユーザーにログインフォームにアクセスできるようにします。セッションがどのように検証されるかによって、これは少し複雑になります。たとえば、クッキーがある場合、フォーム応答から抽出し、ネイティブコードからの将来の要求に備えて保存する必要があります。多くの場合、これらのセッションではMACアドレスが使用されます。その場合は、何もする必要はありません(成功したログインを処理し、再度リクエストを試みることは別として)。

私はそれが役に立ちそうです。

+0

フィリップさん、ありがとうございました。 – Pierce

関連する問題