내가 내가 내가 beggining과 끝을 잃었 문자열을 얻기 위해이되는 InputStream를 사용하려고하면이 코드HttpURLConnection의 절단의 InputStream는
private InputStream downloadUrl(String urlString) throws IOException {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
InputStream stream = conn.getInputStream();
return stream;
}
를 사용하여 웹 서버에서 inputStrem를 얻기 위해 노력하고 반환, 그래서 뭔가를 자르고있는 것 같습니다. 그러나 DefaultHttpClient, HttpGet 및 HttpResponse를 사용하면 결과가 정상입니다.
private String downloadPHP(String urlString){
String st = null;// aqui el XML descargado
DefaultHttpClient client = new DefaultHttpClient();
HttpGet httpGet = new HttpGet(URL);
try {
HttpResponse execute = client.execute(httpGet);
InputStream content = execute.getEntity().getContent();
st = StringUtils.inputStreamToString(content);
}
catch (Exception e) {
//Log.i(Constants.DEBUG_TAG, e.getMessage());
}
return st;
}
Google은 HttpUrlConnection의 사용을 권장하고 있으므로이 문제를 해결하기위한 아이디어는 무엇입니까?
이
는 입력 스트림에서 읽을 아래 코드를보십시오 inoutstreampublic static String inputStreamToString(final InputStream stream) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(stream));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line + "\n");
}
br.close();
return sb.toString();
}
나는 신속하게 코드를 테스트 했으므로 제대로 작동하는 것 같습니다. 나는 그것을 모두 같은 기능에 넣었다. "시작과 끝을 놓친다"는 것은 무엇을 의미합니까? – MoRe
안녕하세요, 데이터베이스에서 정보를 얻기 위해 웹 서버에 요청하고 있습니다. – Javier
과 같은 xml 형식의 문자열을 반환해야합니다. 안녕하세요, 웹 서버에 요청하여 데이터베이스에서 정보를 가져옵니다. 그것은 모든 태그를 포함하여 XML fomrat에 문자열을 반환해야합니다. DefaultHttpClient를 사용하면 모든 것이 정상이지만 HttpUrlConnection을 사용하면 반환되는 정보가 worng입니다. 첫 번째 태그 (문서의 첫 번째 태그)의 일부가 누락되어 정보가 잘립니다. 중간에있는 몇 가지 점 – Javier