android - 在 Android 中模拟 HTML 表单

标签 android html forms http request

我有一个 HTML 表单,我想模拟一个所有框都已填写的请求。 提前致谢:)

<form action="upload.php" method="post" enctype="multipart/form-data"> 
        <input type="file" name="datei"><br>
        <input type="password" name="password"></br>
        <input type="submit" value="Hochladen" name="upload"> 
</form>

现在这是我的 Java 代码,但我只能传输文件,不能传输“密码”:

               FileInputStream fileInputStream = new FileInputStream(sourceFile);
               URL url = new URL("example.com/upload.php");

               conn = (HttpURLConnection) url.openConnection(); 
               conn.setDoInput(true);
               conn.setDoOutput(true);
               conn.setUseCaches(false);
               conn.setRequestMethod("POST");
               conn.setRequestProperty("ENCTYPE", "multipart/form-data");
               conn.setRequestProperty("Content-Type", "multipart/form-data;boundary=" + boundary);
               conn.setRequestProperty("datei", fileName);

               DataOutputStream dos = new DataOutputStream(conn.getOutputStream());

               dos.writeBytes(twoHyphens + boundary + lineEnd); 
               dos.writeBytes("Content-Disposition: form-data; name=\"datei\"; filename=\""
                                         + fileName + "\"" + lineEnd);

               dos.writeBytes(lineEnd);

               //...

               fileInputStream.close();
               dos.flush();
               dos.close();

最佳答案

当使用 multipart/form-data 时,你应该传递多个包,每个变量一个。然而,这种将数据推送到您的请求中的方式是不安全的,您应该使用 MultipartEntity 对象,看看这个:Multipart/form-data construction with android

对于多部分/表单数据引用,请参见:http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.2

请记住,您还可以使用“application/x-www-form-urlencoded”enctype 在单个主体中发布多个变量,这是 html 表单的默认设置。

关于android - 在 Android 中模拟 HTML 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25592382/

相关文章:

java - 使用 Androids Google Maps API 查找路线

android - 如何在Android模拟器中退出全屏模式

javascript - D3 插入 H3 标签 Google 表格

forms - 输入类型范围显示文本框而不是 slider

ruby-on-rails - Rails 中的 f.select 不应用 Bootstrap

android - 如何阻止长文本加宽按钮

jquery select by data- value 这是一个变量

jquery - 从左侧滑出 BS3 导航栏

ruby-on-rails - 带有验证的 form_for 未正确调用 "create"操作

android - 单独线程中的 XMPP 连接 - 仍然被 Android 操作系统关闭?