Uri问题

时间:2011-05-25 18:06:57

标签: java android uri http-get

所以我试图创建一个使用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)

2 个答案:

答案 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/”),但是第一个,你会看到你提到的错误。