3

有一个网站,其中有几个下拉框。我制作了一个从网站中提取值的 android 应用程序。现在网站中有一个搜索框,在网站中我们可以从框中选择选项并按提交,然后它会根据选择的选项给出结果。我需要在我的应用程序中做同样的事情。需要帮助。谢谢

4

1 回答 1

4

要将数据发布到网站,您必须向其发送 HTTP POST 请求。您可以将要发送的数据放入数组中并将其发送到 php 脚本。

您必须弄清楚您的 String 使用哪个 ID 发送到服务器。在我的示例中,它是 your_1 和 your_2。这对每个网站都是不同的。所有新的浏览器都可以在开发者控制台或其他东西中读出这一点。

public void postData() {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://www.yoursite.com/script.php");

try {
    // Add your data
    List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
    nameValuePairs.add(new BasicNameValuePair("your_1", "data 1"));
    nameValuePairs.add(new BasicNameValuePair("your_2", "data 2"));
    httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

    // Execute HTTP Post Request
    HttpResponse response = httpclient.execute(httppost);

} catch (ClientProtocolException e) {
    // TODO Auto-generated catch block
} catch (IOException e) {
    // TODO Auto-generated catch block
}

发送此信息后,您必须获得可以使用 StringBuilder 读出的响应。

private StringBuilder inputStreamToString(InputStream is) {
String line = "";
StringBuilder total = new StringBuilder();

// Wrap a BufferedReader around the InputStream
BufferedReader rd = new BufferedReader(new InputStreamReader(is));

// Read response until the end
while ((line = rd.readLine()) != null) { 
    total.append(line); 
}

// Return full string
return total;
}

现在您有了响应,您可以使用 RegEx 强调您的特殊文本。这有点棘手,但这会对您有所帮助。

于 2013-03-14T18:17:22.750 回答