при вызове ассембла rest api получаю вывод в html - PullRequest
0 голосов
/ 19 августа 2011

Я звоню в Assembla REST Api с базовой аутентификацией, используя следующий код.Я получаю вывод html вместо xml.Я хочу использовать эти выходные данные в моей программе, но не могу получить их из формата HTML.Пожалуйста, предложите, как получить вывод в формате xml.

    HttpURLConnection conn = null;     
    String authentication = "username:password";
    String encoding = Base64.encodeToString(authentication.getBytes(), Base64.NO_WRAP);
    URL url = new URL("https://www.assembla.com/spaces/my_spaces");
    //URL url = new URL("https://www.assembla.com/");
     conn = (HttpURLConnection) url.openConnection();
     conn.setRequestMethod("GET");
     conn.setRequestProperty("Content-Type","Accept: application/xml; charset=utf-8");
     conn.setRequestProperty("Authorization", "Basic " + encoding);
     conn.setDoOutput(true);
     conn.connect();

    System.out.println(conn.getResponseCode()); 
    System.out.println(conn.getResponseMessage());

    InputStreamReader isr =
        new InputStreamReader(conn.getInputStream());
    BufferedReader br = new BufferedReader(isr);

    String inputLine;

    while ((inputLine = br.readLine()) != null)
        System.out.println(inputLine);

    br.close();

Также я попытался преобразовать этот вывод в jsonObject, но получил ошибку org.json.JSONException: Значение

    InputStreamReader isr =
            new InputStreamReader(conn.getInputStream());
    BufferedReader br = new BufferedReader(isr);

    StringBuilder sb = new StringBuilder();

    String inputLine;


        while ((inputLine = br.readLine()) != null){
            System.out.println(inputLine);
            sb.append(inputLine);
        }   

        try {
            JSONObject user = new JSONObject(sb.toString());
        } catch (JSONException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

1 Ответ

0 голосов
/ 19 августа 2011

Просто изменить - conn.setRequestProperty ("Content-Type", "Accept: application / xml; charset = utf-8"); в conn.setRequestProperty («Принять», «text / xml»); Тогда все будет работать нормально.

...