Как загрузить XML -файл с сервера без заголовков httpAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как загрузить XML -файл с сервера без заголовков http

Сообщение Anonymous »

Я пытаюсь загрузить XML -файл для разбора с сервера, но сервер не отправляет заголовки HTTP, только текст XML. Я пробовал почти каждый метод загрузки файлов с помощью URL -адреса, который я могу найти, но все дает мне исключение ввода/вывода. Я могу загрузить файл в WebView, но я сам не могу загрузить файл. private class UpdateTask extends AsyncTask {
protected Void doInBackground(Void...voids ) {
String url = "http://192.168.1.92/state.xml";
try{
//get XML Pull parser
XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
//factory.setValidating(false);
XmlPullParser xpp = factory.newPullParser();

HttpGet httpGet = new HttpGet(url);
DefaultHttpClient client = new DefaultHttpClient();
HttpResponse response = client.execute(httpGet);

if(response == null) return null;

HttpEntity httpEntity = response.getEntity();
InputStream inStream = null;
StringBuilder sb = null;
if (httpEntity == null) return null;

try {
inStream = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inStream, "UTF-8"));
sb = new StringBuilder();
String line = null;

while((line = reader.readLine()) != null) {
sb.append(line + "\n");
}

inStream.close();
} catch (Exception ex) {
}
String xmlString = sb.toString();

xpp.setInput(new StringReader(xmlString));
int eventType = xpp.getEventType();

String name = null;
String text = null;
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_TAG) { //
name = xpp.getName();
System.out.println("got name: " + name);
} else if(eventType == XmlPullParser.END_TAG) {// (xpp.getName();
} else if(eventType == XmlPullParser.TEXT) { // text
text = xpp.getText();
System.out.println("got text: " + text);

}
eventType = xpp.next();
}
finished = true;
}catch(MalformedURLException e){
System.out.println("Malformed URL");
}catch(IOException e){
System.out.println("IO Exception updating " + name + " at address: " + address);
}catch(XmlPullParserException e){
System.out.println("XML Pull Parser Error updating " + name + " at address: " + address);
}catch(Exception e){
}
return null;
}
}
< /code>

дает мне исключение ввода /вывода каждый раз. Однако, если я укажу на его сервер, который предоставляет заголовок HTTP, он загружается просто отлично. Серверы-это устройства, которые мы производим на месте, и более старые подразделения не предоставляли заголовки HTTP при запросе файла state.xml, поэтому мне нужно иметь возможность работать с обоими.

Подробнее здесь: https://stackoverflow.com/questions/105 ... tp-headers
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»