3

WebページからAndroidデバイスへのリクエストを確認したいwhether it is POST request or GET request as in Google Chrome browser. どなたかやり方教えてください。

ここに画像の説明を入力

注:いずれかで以下のように確認したいWebView's Override method

if request.method == 'GET':
    do_something()
elif request.method == 'POST':
    do_something_else()

編集 1: Google にログインしようとしました。以下のように「POST」を取得しました。メソッドonFormResubmissionを使用したAndroid WebViewでこれを試しました。でも呼ばれない。

@Override
public void onFormResubmission(WebView view, Message dontResend, Message resend) {          
    super.onFormResubmission(view, dontResend, resend);
    }

ここに画像の説明を入力

4

2 に答える 2

0
HttpURLConnection con = (HttpURLConnection) url.openConnection();
String reqMethod = con.getRequestMethod();  

このようにして、正確な方法を取得できます

于 2013-09-22T08:28:29.967 に答える
0

以下のようにカスタムWebViewClientを使用します

 WebView webview = new WebView(this){

        @Override
        public void loadData(String data, String mimeType, String encoding) {
            Log.d("TAGloadData", data+" ==> "+mimeType+" "+encoding);
            super.loadData(data, mimeType, encoding);
        }

        @Override
        public void loadUrl(String url, Map<String, String> extraHeaders) {
            Log.d("TAGloadUrl", " ==> "+extraHeaders);
            super.loadUrl(url, extraHeaders);

        }

        @Override
        public void loadDataWithBaseURL(String baseUrl, String data,
                String mimeType, String encoding, String historyUrl) {
            Log.d("TAGloadUrlB", " ==> "+data);
            super.loadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl);
        }

        @Override
        public void loadUrl(String url) {

            if(!url.startsWith("method"))
                Log.d("TAGForm", " ==> using Post method");
            else{
                url = url.replaceFirst("method","");
                Log.d("TAGForm", " ==> using Get method"+url);
            }

            super.loadUrl(url);
            Log.d("TAGloadUrl", " ==> "+url);
        }

    };
于 2012-10-16T08:17:46.957 に答える