java - WebView 的 postUrl 方法仅适用于显式字符串
问题描述
我已经可以说这是一个愚蠢的问题,但我试图登录到一个网页postUrl()
,当我明确地写出这样的帖子数据时:
String postData = "username=johndoe&password=mypassword";
myWebview.postUrl("https://moodle.domain.com/login/index.php", postData.getBytes());
它有效,但如果我使用变量构造 postData:
String postData = "username="+user+"&password="+pass;
myWebview.postUrl("https://moodle.domain.com/login/index.php", postData.getBytes());
它不起作用。错误的凭据。我已经验证两个字符串具有完全相同的值,并且我尝试使用 UTF-8。
我只是不明白,这没有任何意义。
解决方案
试试下面
String postData = "username=" + URLEncoder.encode(my_username, "UTF-8") + "&password=" + URLEncoder.encode(my_password, "UTF-8");
webview.postUrl("https://moodle.domain.com/login/index.php",postData.getBytes());
推荐阅读
- r - R - Prop.Table 条形图条件着色
- c - 何时使用多线程与多处理
- r - 如何将加载了 fileInput 数据的名称添加到闪亮应用程序中的 selectInput?
- apache-kafka - Kafka JMX 指标的时间窗口是多少?
- java - 公式中的字符串文字不能大于 255 个字符 ascii
- authentication - 如何将 Auth0 登录页面授权 URL 配置为 Angular 应用程序中的默认登录页面?
- javascript - 如何将值从 javascript 传递到 html 表单上的 php?
- java - 将 Oracle JRE 与 OpenJdk 一起使用是否合法?
- javascript - 连接数组项
- swift - 无法转换“结果”类型的值' 关闭结果类型 'Result
'