При вызове ассембла rest api получаю вывод в html

Я звоню в 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:Value

    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 ответ

Решение

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

Другие вопросы по тегам