2011-05-25 58 views
0

我想知道是否有可能从网站加载一个框架,填充一个文本框,按下提交按钮,并采取从该页面的结果?我需要做的这个背景,所以我Webview是一直没有露面,只有一个EditText和一个TextView的显示...的Android的WebView点击模拟

回答

-1

你就不能使用HTTP请求你所提到的东西吗? 你需要什么WebView?

+0

还有一些页面,其中用户输入的数据进行了一些计算。并在服务器进行计算后在该页面中显示结果。我可以使用所有页面的http请求吗? – 2011-05-25 20:40:41

+0

给我确切的页面,我可以看看。 – FiDo 2011-05-25 20:53:43

+0

一页的一个例子进行甚至http://www.md5.cz/这可以从Java很容易地计算,这是一个例子。我的网页尚不存在,但即将推出。 – 2011-05-25 20:58:38

-1

您可以使用HTTPGET得到的页面和httpPost当用户按下提交后的结果。您所要做的就是确保该文章能够传输网页期望的数据,并且使用它期望的格式。

检查需要什么的好方法是使用Firefox Live HHTP头添加(https://addons.mozilla.org/en-US/firefox/addon/live-http-headers/)。

例如,GET可能是

URI uri = new URI(<your URL here>); 
HttpGet request = new HttpGet(uri); 
HttpResponse response = defaultHttpClient.execute(request); 
HttpEntity entity = response.getEntity(); 
String content = EntityUtils.toString(entity); 

然后你把你与编辑文本框和按钮等Android的视图当用户按下提交,你得到的文本形式编辑的文本框,然后如下构建一个POST。

URI uri = new URI(<your URL here - without a host>); 
HttpPost request = new HttpPost(urri); 
request.setHeader("Content-type", "application/x-www-form-urlencoded"); 

List<NameValuePair> bodyParams = new ArrayList<NameValuePair>(); 
bodyParams.add(new BasicNameValuePair(<parameter name string>, <parameter value string>); 
// repeat additional bodyParams.add() as necessary for further parameters 
request.setEntity(new UrlEncodedFormEntity(bodyParams, HTTP.UTF_8)); 
HttpHost httpHost = new HttpHost(<your host here>); 
HttpResponse response = defaultHttpClient.execute(httpHost, request); 
HttpEntity entity = response.getEntity(); 
String content = EntityUtils.toString(entity); 
+0

,但用户不会按网页上的提交按钮,他会按标准的android按钮...我需要填写数据到网页形式并提交它,并得到回应...但我不知道如何做到这一点...... – 2011-05-25 21:03:28

+0

我的答案中的代码是当用户在Android视图中按下按钮(例如提交)时需要发送数据的代码。我只是建议你在浏览器中使用Firefox Live HHTP Headers来检查Web服务器期望的数据 - 这就是bodyParams中的内容。 – Torid 2011-12-17 00:53:44