HttpGet не распознает URL - PullRequest
       21

HttpGet не распознает URL

1 голос
/ 22 апреля 2011

Итак, я использую приведенный ниже код из другого старого поста, но у меня проблемы с одной частью, строка для: HttpGet request = new HttpGet(url); не работает.В поле URL я поместил что-то вроде www.stackoverflow.com, но эта часть не позволит скомпилировать код.Я в основном пытаюсь получить текст написания с веб-сайта HTML.Полный код:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet(www.stackoverflow.com);
    HttpResponse response = client.execute(request);

    String html = "Toronto-GTA";
    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();
}

Ответы [ 4 ]

3 голосов
/ 22 апреля 2011

HTTPGet ожидает URL или строку, поэтому попробуйте изменить строку запроса на:

HttpGet request = new HttpGet("http://www.stackoverflow.com/");
2 голосов
/ 22 апреля 2011

Используйте строку вида:

[scheme:][//authority][path][?query][#fragment]

т.е. "http://www.stackoverflow.com"

0 голосов
/ 22 апреля 2011

Добавление к приведенным выше ответам окружает ваш код операторами try и catch для отлова исключений.

try{
HttpClient client = new DefaultHttpClient();
    HttpGet request = new HttpGet("www.stackoverflow.com");
    HttpResponse response = client.execute(request);
    InputStream in = response.getEntity().getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(in));
    StringBuilder str = new StringBuilder();
    String line, html = null;
    while((line = reader.readLine()) != null)
    {
        str.append(line);
    }
    in.close();
    html = str.toString();
}
catch(Exception e){
//Do something here like printing the stacktrace
}
0 голосов
/ 22 апреля 2011

Попробуйте это: HttpGet request = new HttpGet("www.stackoverflow.com");

...