所以我试图创建一个使用httpget的URL来下载页面源代码。 但我每次运行应用程序时都遇到问题,它说我在字符串/ uri中有一个非法字符。 这是我尝试过的代码。
String Search = "http://www.lala.com/";
也
HttpGet request = new HttpGet("http://www.lala.com/");
每次我尝试,
Uri search = new Uri("http://www.lala.com/");
我得到“无法实例化Uri”。
我不确定我做错了什么,这也是获取页面源的代码。
try
{
HttpClient client = new DefaultHttpClient();
HttpGet request = new HttpGet("http://www.lala.com/");
HttpResponse response = client.execute(request);
InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;
while((line = reader.readLine()) != null)
{
str.append(line);
}
in.close();
html = str.toString();
}
catch (IOException e1)
{
}
感谢您的帮助! 〜坦纳。
(lala.com不是我使用的网站btw:P)
答案 0 :(得分:6)
这是因为Uri是一个抽象类,无法实例化。请改用:
Uri search = Uri.parse("http://www.lala.com/");
如果使用HttpGet,则需要使用java.net.URI类而不是android Uri。一个简单的例子:
try {
URI search = new URI("http://www.lala.com/");
new HttpGet(search);
} catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
答案 1 :(得分:0)
检查您的进口商品。这可能是因为org.eclipse.emf.common.util.URI与java.net.URI之间存在冲突。我的意思是,你可以用第二个来做Uri search = new Uri(“http://www.lala.com/”),但是第一个,你会看到你提到的错误。