【发布时间】:2012-04-11 12:21:30
【问题描述】:
我的意思是我使用下面的代码从 url 获取 html 源代码。但是不包含所有source.Buffersize是问题还是字符串大小问题?
HttpURLConnection connection;
OutputStreamWriter request = null;
URL url = null;
String response = null;
String parameters = "aranan="+et.getText();
try
{
url = new URL("http://www.fragmanfan.com/arama.asp");
connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
request = new OutputStreamWriter(connection.getOutputStream());
request.write(parameters);
request.flush();
String line = "";
InputStreamReader isr = new InputStreamReader(connection.getInputStream());
BufferedReader reader = new BufferedReader(isr);
StringBuilder sb = new StringBuilder();
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
// Response from server after login process will be stored in response variable.
response = sb.toString();
// You can perform UI operations here
browser.loadDataWithBaseURL(null, response,"text/html", "UTF-8", null);
isr.close();
reader.close();
}
catch(IOException e)
{
// Error
}
}
});
我尝试了一些类似BufferedReader reader = new BufferedReader(isr,8192);
但它不起作用。
【问题讨论】:
-
您是否尝试过使用普通的独立 java 应用程序使用相同的 url 获取源代码?
-
没有。不在 java 中。但是我没有得到完整的html页面源代码。几乎只有892个字。字符串大小问题?还是缓冲?我该如何解决这个问题?
-
先尝试在java中运行相同的逻辑。这样你就可以很容易地弄清楚发生了什么。如果在java中有效,它应该在android中也有效
-
我该如何尝试。它是相同的代码吗?它适用于android,但它不包含所有html源:(
-
我们使用 double 而不是 int 。那么有没有比我使用的字符串更大的字符串而不是字符串。
标签: android string inputstream bufferedreader