마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

URL커넥션으로 네이버같은 애들은 긁어와집니다..

0 추천

 

현재 서버로 URL을 호출하여 JSON을 긁어와야하는데요.

파싱은 그 다음인데..일단 긁어오질 못하네요.

네이버나 다른 사이트는 다 잘 가져오는데..

유독 저희 서버에 잇는 JSON을 리턴해주는 페이지에만 되지를 않습니다.

그냥 웹브라우저에서 URL치면 웹페이지상에는 JSON형태가 잘 표시되는데..

안드로이드에서는 못긁어오네요;;

 

아래 소스입니다.

 

 
public static final int NETWORK_TIMEOUT = 20 * 1000; 
public static String doHttpPostJsonRequest(String url) {
String result = "";
StringBuffer sb = new StringBuffer();
try {
URL urlCon = new URL(url);
URLConnection urlConnection = urlCon.openConnection();
urlConnection.setReadTimeout(NETWORK_TIMEOUT);
urlConnection.setDoOutput(true);
OutputStreamWriter osw = new OutputStreamWriter(urlConnection.getOutputStream());
osw.write(url);
osw.flush();
 
BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
 
String str = "";
while((str = br.readLine()) != null) {
sb.append(str);
}
 
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
Log.i("ERR", e.toString());
}
 
result = sb.toString().trim();
return result;
}
갸아악 (21,260 포인트) 님이 2013년 4월 25일 질문
1. responseCode 가 뭐가 나오나요?

2. Exception 내용이 필요합니다.

네트워크 작업의 경우 코드만 봤을 때 문제가 없는게 대부분입니다.
서버에서 정확한 접근이 아니면 막을 수 있고요. 실패에 대한 이유는 많습니다. 먼저 responseCode 값이 무엇인지 파악하는게 먼저일 것 같네요.
감사합니다~
해결했습니다.
서버가 내부IP를 쓰고 있었는데
저는 외부에서 테스트를 했네요ㅠㅠ
삽질중의 삽질..감사합니다.

1개의 답변

0 추천
 
채택된 답변

JSON을 리턴해주는 페이지에서 떨궈주는 결과값을 복사해서

http://json.parser.online.fr/

여기서 JSON형식이 맞나 확인해보세요

얼룩돼지 (15,720 포인트) 님이 2013년 4월 25일 답변
갸아악님이 2013년 4월 25일 채택됨
JSON 형식 말구..아애 긁어오지를 못합니다.
웹페이지 긁어오는거여;;
...