在android中以编程方式提交html表单

在android中以编程方式提交html表单,android,android-emulator,Android,Android Emulator,我想在android中以编程方式提交表单。我不希望用户与web浏览器进行任何交互。用户将在EditField中提供输入,然后通过HTTPwebmethod通过http post方法提交输入。但我没有在同一个领域取得任何成功。请告知。我在java中使用过HTMLUnit,但在android中不起作用 final WebClient webClient = new WebClient(); final HtmlPage page1 = webClient.getPage("http://www

我想在android中以编程方式提交表单。我不希望用户与web浏览器进行任何交互。用户将在EditField中提供输入,然后通过HTTPwebmethod通过http post方法提交输入。但我没有在同一个领域取得任何成功。请告知。我在java中使用过HTMLUnit,但在android中不起作用

  final WebClient webClient = new WebClient();
 final HtmlPage page1 = webClient.getPage("http://www.mail.example.com");
     final HtmlForm form = page1.getHtmlElementById("loginform");

    final HtmlSubmitInput button = form.getInputByName("btrn");
    final HtmlTextInput textField1 = form.getElementById("user");
   final HtmlPasswordInput textField2 =          form.getElementById("password");textField1.setValueAttribute("user.name");
    textField2.setValueAttribute("pass.word"); final HtmlPage page2 = button.click();

哎呀。很抱歉看来你终究是想通过浏览器发帖

以下是我用来在Android中完成HTTP POST的一个片段,无需通过web浏览器:

HttpClient httpClient = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpConnectionParams.setSoTimeout(httpClient.getParams(), TIMEOUT_MS);
HttpPost httpPost = new HttpPost(url);  
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();  
nameValuePairs.add(new BasicNameValuePair("name1", "value1"));  
nameValuePairs.add(new BasicNameValuePair("name2", "value2")); 
nameValuePairs.add(new BasicNameValuePair("name3", "value3"));   
// etc...
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); 
HttpResponse response = httpClient.execute(httpPost);

你在正确的轨道上。您尝试了什么代码,收到了什么错误消息?您是否也在托管接收端?您能使用fiddler工具或wireshark截获来自模拟器的请求吗?代码发布在原始问题中,但HTTPUnit lib在编译时没有转换为dalvik代码。我认为应该在服务器上执行。不在emulator中。我将执行post方法,但不实际提交登录表单。我需要通过代码提交已经创建的登录页面,而不实际打开浏览器。需要注意的是,上述代码需要包含在try-catch块中,并从后台线程执行。org.apache.http.client.HttpClient不再受支持。
BufferedReader br = new BufferedReader(new InputStreamReader(response.getEntity().getContent()), 8096);