get status code of webview - letusfly85/step-up-android GitHub Wiki
δ»₯δΈγεθ
http://saki0n.blogspot.jp/2013/04/android-webview.html
webView.setWebViewClient(new WebViewClient() {
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
@Override
public WebResourceResponse shouldInterceptRequest(WebView view, String url) {
if (!url.matches("https?://[\\w\\.\\-]+(/.*)?")) {
return super.shouldInterceptRequest(view, url);
}
HttpGet req = new HttpGet(url);
DefaultHttpClient client = new DefaultHttpClient();
String mimeType = null, encoding = null;
byte[] data = null;
try {
HttpResponse res = client.execute(req);
// γγγ§γΉγγΌγΏγΉγ³γΌγγεεΎγ§γγγοΌ
if (HttpStatus.SC_OK == res.getStatusLine().getStatusCode()) {
HttpEntity entity = res.getEntity();
Header mimeHeader = entity.getContentType();
if (null != mimeHeader) mimeType = mimeHeader.getValue();
Header encodingHeader = entity.getContentEncoding();
if (null != encodingHeader) encoding = encodingHeader.getValue();
data = EntityUtils.toByteArray(entity);
}
} catch (Exception e) {
String msg = e.getMessage();
Log.e(this.getClass().getSimpleName(), (null != msg) ? msg : "");
} finally {
req.abort();
client.getConnectionManager().shutdown();
}
InputStream stream = new ByteArrayInputStream(data);
return new WebResourceResponse(mimeType, encoding, stream);
}
});