집에서 난방을 통해 제공되는 웹 서비스에 연결하려고합니다. 요청 URL을 Chrome에 넣으면 완전한 XML 파일이됩니다. 그 후에 안드로이드 응용 프로그램을 사용하여 프로그래밍 방식으로 동일한 작업을 수행하려고 시도했습니다. 안타깝게도 XML 파일의 절반 만 응답합니다. 비록, 그 시도가 다른 위치에 결과를 잘라 흥미롭게Android webservice GET 요청은 XML 응답의 일부만을 응답합니다.
private void androidHttpConnect() {
HttpURLConnection urlConnection=null;
try {
URL url = new URL("http://10.0.0.140:8080/user/menu");
urlConnection = (HttpURLConnection) url.openConnection();
BufferedInputStream in = new BufferedInputStream(
urlConnection.getInputStream());
Log.i("myapp",convertStreamToString(in));
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
urlConnection.disconnect();
}
}
private String convertStreamToString(InputStream is) {
return new Scanner(is).useDelimiter("\\A").next();
}
안드로이드 HTTP 클라이언트 ...
HttpClient httpclient = AndroidHttpClient.newInstance("Android");
HttpGet httpget = new HttpGet("http://10.0.0.140:8080/user/menu");
HttpResponse response;
try {
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
long len = entity.getContentLength();
Log.d("myapp", "content length "+len);
if (len != -1) {
try {
Log.d("myapp", EntityUtils.toString(entity));
} catch (ParseException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
} else {
// Stream content out
}
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
:
는 이미 다른 사람의 사이에, 간단한 HttpConnection에를 여러 번 시도 시도 그들은 약 5 문자 만 다릅니다. 이 위치에는 특수 문자가 없으며 XML이 매우 짧습니다.
아무쪼록? 또한 UI 스레드에 의해 인터럽트가 발생하지 않도록 ASyncTask에서 실행하려고했지만 성공하지는 못했습니다.
도움 주셔서 감사합니다.
Java 데스크톱 응용 프로그램에서 동일한 코드를 실행하려고 했으므로 문제가 안드로이드와 관련되어야합니다! – user1033552
나는 전체 응답이 아니라 응답의 몇 가지 요소 만 얻는 똑같은 문제에 직면하고있다. – Taruni