我们已向android网页视图发送了一个POST请求,但是网页视图会自动进行一些网址解码,服务器端会收到错误的数据。
例如:当我们通过webview发布此值时,我们有一个像aedTH5634 + hjsGT78-67ty这样的签名值,webview自动将+值转换为space.SO在服务器签名值中是错误的。如何避免这种解码。
IOS webview workig很好,它发送了我们有POST的确切值。如何从android webview中避免这种解码。
帮助非常明显,
谢谢,
答案 0 :(得分:2)
不确定它会如何帮助处于类似情况的其他人,但我仍然会给我0.02美元,我能够像这样解决我的问题,我使用了以下方法并确保编码保留用于编码值使用base64和将数据转换为base 64,详细了解此here
void loadData(String data, 字符串mimeType, 字符串编码)
像这样将数据转换为base64
echo $_GET['date'];
并最终将所有内容整合在一起
String base64Data = android.util.Base64.encodeToString(yourdata.getBytes("UTF-8"), android.util.Base64.DEFAULT);
答案 1 :(得分:0)
也许是Android WebView Bug? 只是一个解决方法:
webView.loadUrl(URLEncoder.encode(yourStr));
答案 2 :(得分:0)
代码有效。
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT){
this.evaluateJavascript(javascriptCommand, null);
} else {
this.loadUrl(javascriptCommand);
}