有没有人知道如何使用post方法在webview中传递值?
engine = (WebView) findViewById(R.id.web_engine);
engine.setWebViewClient(new WebViewClient() {
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
});
engine.getSettings().setJavaScriptEnabled(true);
engine.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);
engine.loadUrl(url+"?ref=api&uname="+id+"&pass="+pass);
这是我使用get方法发送数据的方式,我想使用Post方法。
答案 0 :(得分:16)
试试这个
String url = "http://www.example.com";
String postData = "username=my_username&password=my_password";
webview.postUrl(url,EncodingUtils.getBytes(postData, "BASE64"));
答案 1 :(得分:1)
使用postUrl
在WebView
中使用POST。
答案 2 :(得分:1)
对post dat使用postUrl方法。更多细节Follow This。
答案 3 :(得分:0)
使用Base64.encode更好:
String url = "http://www.example.com";
String postData = "username=my_username&password=my_password";
webview.postUrl(url,Base64.encode(postData.getBytes(), Base64.DEFAULT));
在某些情况下效果更好:
String url = "http://www.example.com";
postData = "username="+URLEncoder.encode("my_username", "UTF-8")+"&password="+URLEncoder.encode("my_password", "UTF-8");
webview.postUrl(url,postData.getBytes());