2012-02-10 3 views
0

그래서 JSON 응답을 얻으려면 호출되지만 이상한 문제에 직면 할 URL을 작성하고 있습니다. 아래에 표시된 URL을 작성하면 "찾을 수 없음"이 반환되지만 테스트 목적으로 URL을 "http://api.themoviedb.org/3/search/person?api_key=XXX & query = brad"로 작성하고 ' 아무 것도 추가하지 않으면 올바른 응답이 반환됩니다. 또한 "텍스트"와 같은 것을 인코딩하지 않으려 고 시도했습니다 ... 찾을 수 없습니다. 어떤 아이디어?Android Java 이상한 문제 건물 URL

 StringBuilder url = new StringBuilder(); 
     url.append("http://api.themoviedb.org/3/search/person?api_key=XXX&query=").append(URLEncoder.encode(text, ENCODING)); 
     Log.v("URL", url.toString()); 
     try { 
      HttpGet httpRequest = null; 
      httpRequest = new HttpGet(url.toString()); 
      HttpClient httpclient = new DefaultHttpClient(); 
      HttpResponse response = (HttpResponse) httpclient.execute(httpRequest); 
      HttpEntity entity = response.getEntity(); 
      BufferedHttpEntity bufHttpEntity = new BufferedHttpEntity(entity); 
      InputStream input = bufHttpEntity.getContent(); 
      String result = toString(input); 

      //JSONObject json = new JSONObject(result); 
      return result; 
+0

줄'Log.v ("URL", url.toString()); –

+0

브라우저에 복사/붙여 넣기가 된 올바른 주소를 인쇄하여 작동합니다 ... – Paul

+0

길게 찍었지만 API 키를 인코딩 할 필요가 있습니까? – Peter

답변

0

아래 코드를 사용해보십시오. 나는 복사하여 일부 코드에서 붙여 넣었고 작동한다는 것을 알고 있습니다. 귀하의 문제를 해결하지 못할 수도 있지만 그 가치가 있다고 생각합니다. 나는 그것을 조금 편집 했으므로 이제 코드에 복사하여 붙여 넣기 만하면됩니다.

HttpGet request = new HttpGet(new URI(url.toString())); 
    HttpClient client = new DefaultHttpClient(); 
    HttpResponse response = client.execute(request); 
    BufferedReader reader = new BufferedReader(new InputStreamReader(response.getEntity().getContent(), "UTF-8")); 
    StringBuilder builder = new StringBuilder(); 
    for (String line = null; (line = reader.readLine()) != null;) { 
     builder.append(line).append("\n"); 
    } 
    JSONObject jResponse = new JSONObject(builder.toString());