2012-07-26 1 views
0

내 응용 프로그램과 함께 webservice를 호출하려고하는데 오류가 발생하지 않습니다. URL이 양호하고 브라우저를 통해 무언가를 반환하지만 내용이 없습니다.빈 Http 전화하지만 오류가 없습니다.

try { 
    HttpClient httpclient = new DefaultHttpClient(); 
    HttpGet httpget = new HttpGet(url); 
    HttpResponse response = httpclient.execute(httpget); 
    HttpEntity entity = response.getEntity(); 
    int lenght = (int) entity.getContentLength(); 
    is = entity.getContent(); 
} catch (Exception e) { 
    Log.e("log_tag", "Error in http connection" + e.toString()); 
} 

아이폰에 때문에 그가 URL에서 응답이 HTML해야합니까

를 수신 빈 응답 -1과 같다? 또는 내가 출력 한 내용은 HttpClient가 가져올 수 있습니까?

+0

가 위 ICS 또는인가? – Vinay

+0

예. ICS에 있습니다. –

+0

그래도 여전히 작동하지 않는다면 아래 나의 대답을 읽으십시오. – Vinay

답변

1

응답은 HTML 일 필요는 없지만 서버 측에서 응답에서 콘텐츠 길이 헤더를 반환하지 않으면 길이는 음수가됩니다.

1

응답이 반드시 HTML 일 필요는 없습니다.

getContentLength()가 음수 값을 반환하면 서버에서 콘텐츠 길이를 반환하지 않습니다. 콘텐츠가 없다는 의미는 아닙니다. 요청에 의해 반환 된 콘텐츠를 가질 수도 있지만 여전히 getContentLength()에 의해 반환 된 음수 값을가집니다.

당신은 여전히 ​​내용이 요청에 의해 반환받을 수 있습니다

사용중인 안드로이드 버전
ByteArrayOutputStream baos = new ByteArrayOutputStream(); 
entity.writeTo(baos); 
String contentString = baos.toString(); 
+0

3 줄을 추가했는데 "entity.writeTo (baos);에서 오류가 발생했습니다."java.lang.IllegalStateException : Content has been used "오류가 발생했습니다. –

관련 문제