2016-06-01 2 views
0

요청 매개 변수에 token, blockrequest 및 format으로 URL이 https://www.xyz.in/ws/bt 인 경우. 샘플 JSON은 "blockrequest는"문자열 android에서 HttpsURLConnection을 사용하여 url의 요청 매개 변수로 json 객체를 보내는 방법

{"source\":\"1492\",\"destination\":\"1406\",\"availableTripId\":\"100008417320611112\",\"boardingPointId\":\"1129224\",\"inventoryItems\":[{\"seatName\":\"21\",\"ladiesSeat\":\"false\",\"passenger\":{\"name\":\"passenger_name_1\",\"title\":\"MR\",\"gender\":\"MALE\",\"age\":\"23\",\"primary\":true,\"idType\":\"PANCARD\",\"email\":\"[email protected]_name.com\",\"idNumber\":\"BEPS1111B\",\"address\":\"passenger_address\",\"mobile\":\"xxxxxxxxxx\"},\"fare\":\"320.00\"},{\"seatName\":\"22\",\"ladiesSeat\":\"true\",\"passenger\":{\"name\":\"passenger_name_1\",\"title\":\"MS\",\"gender\":\"FEMALE\",\"age\":\"23\",\"primary\":false,\"idType\":\"\",\"email\":\"\",\"idNumber\":\"\",\"address\":\"\",\"mobile\":\"\"},\"fare\":\"320.00\"}]} 


가 어떻게 HttpsURLConnection에를 사용하여 URL에 요청 매개 변수으로이 데이터를 보낼 수있다.

+0

(응답이 연결의 getInputStream() 방법을 사용하여 읽기의 경우) "를 요청 매개 변수로"당신은 HTTP GET 요청으로 의미? – Robert

+0

아니요, HTTPS POST 요청을 통해. – QEMU

+1

http://stackoverflow.com/a/2938787/793943이 질문을 확인하십시오 – Sush

답변

0

Apache HTTP 클라이언트를 사용하는 경우.

StringEntity se = new StringEntity(json.toString()); 
        se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
        post.setEntity(se); 

가 이걸 희망이 작업을 시도해보십시오 여기에 코드 샘플

protected void send(final String json) { 
     Thread t = new Thread() { 

      public void run() { 
       Looper.prepare(); //For Preparing Message Pool for the child Thread 
       HttpClient client = new DefaultHttpClient(); 
       HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); //Timeout Limit 
       HttpResponse response; 

       try { 
        HttpPost post = new HttpPost(URL); 
        StringEntity se = new StringEntity(json.toString()); 
        se.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); 
        post.setEntity(se); 
        response = client.execute(post); 

        /*Checking response */ 
        if(response!=null){ 
         InputStream in = response.getEntity().getContent(); //Get the data in the entity 
        } 

       } catch(Exception e) { 
        e.printStackTrace(); 
        createDialog("Error", "Cannot Estabilish Connection"); 
       } 

       Looper.loop(); //Loop in the message queue 
      } 
     }; 

     t.start();  
    } 

이 위의 예제 코드에서 꼬마 도깨비의 라인입니다. 당신은 같은 것을 할 수

+0

API 23 (Android 6)에서 Apache HTTP 클라이언트가 더 이상 사용되지 않습니다. – Robert

+0

대신 Volley 라이브러리를 사용하십시오 –

+0

예. 발리를 사용하거나 개장하십시오. 그래서 당신은 요청에 따라 json body를 쉽게 보낼 수 있습니다. –

0

:

URL url = new URL(yourUrl); 
byte[] postData = yourJsonString.getBytes("UTF-8"); 
HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 

conn.setRequestMethod("POST"); 
conn.setRequestProperty("Content-Type", "application/json"); 
conn.setDoOutput(true); 

conn.getOutputStream().write(postDataBytes);