2017-01-21 10 views
0

GET 요청의 나머지 API 하나를 호출해야합니다.API 상태가 API 23 이하인 경우

API 24의 에뮬레이터를 사용할 때 정상적으로 작동합니다. 내 휴대 전화의 동일한 코드, 즉 API 23 및 API 18은 400 상태 즉 잘못된 요청을 제공합니다.

URL url = new URL(voids[0]); 
     Log.i("url", voids[0]); 
     //URL url = new URL(urlString); 
     HttpURLConnection con = (HttpURLConnection) url.openConnection(); 

     con.addRequestProperty("User-Agent", "REST"); 
     System.setProperty("http.keepAlive", "false"); 
     con.setRequestProperty("Accept", "*//*"); 
     con.setConnectTimeout(10000); 
     con.setReadTimeout(10000); 
     con.setAllowUserInteraction(false); 
     con.setRequestMethod("GET"); 
     responseCode = con.getResponseCode(); 
     System.out.println("Sending get request : " + url); 
     System.out.println("Response code : " + responseCode); 
     // Reading response from input Stream 
     BufferedReader in = new BufferedReader(
       new InputStreamReader(con.getInputStream())); 
     String output; 
     StringBuffer response = new StringBuffer(); 
     while ((output = in.readLine()) != null) { 
      response.append(output); 
     } 
     in.close(); 
     System.out.println(response.toString()); 

URL : http://milk.gall5.com/api/SalePunch?CustomerID=1&Model={"CustomerID":"1","lstSalesPunchDetail":[{"ListManufacturer":[{"ManufactureID":1,"ManufacturerName":"Amul","One":40,"OneByFour":10,"OneByTwo":20,"QtyOne":0,"QtyOneByFour":23,"QtyOneByTwo":330,"visibilityOne":true,"visibilityOneByFour":true,"visibilityOneByTwo":true}],"ProductId":2,"ProductName":"Ton Milk"}]}

답변

0

시도 먼저 URL의 Model 매개 변수를 인코딩합니다. URLEncoder.encode() 방법으로 할 수 있습니다