2016-09-14 2 views
0

웹 서비스를 처음 사용합니다. 클라이언트 쪽에서 요청을 게시 할 때 서버 쪽 영향을 이해하려고합니다. CASE 1 접근 방식을 사용하면 URL 쿼리 매개 변수에서 값을 검색 할 수 있습니다.POST가 쿼리 매개 변수와 writeBytes를 사용하여 POST

그러나 두 번째 방법을 사용하여 게시물이 발생하는 경우 서버에서이 데이터를 어떻게 받습니까? 헤더, 쿼리 매개 변수 또는 스트림?

케이스 - 1

 URL url = url("http://serviceendpoint?q=value"); 
     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestMethod("POST"); 

케이스 -2

케이스 (2)에서
 URL url = url("http://serviceendpoint"); 
     String urlParameters="value"; 

     connection = (HttpURLConnection) url.openConnection(); 
     connection.setRequestMethod("POST"); 

     //Send request 
     DataOutputStream wr = new DataOutputStream(connection.getOutputStream()); 
     wr.writeBytes(urlParameters); 
     wr.close(); 

답변

0

상기 urlParameters 변수 (문자열 "값")의 값은 POST의 본체로 기록 될 의뢰. 원시 요청 본문에서 서버 측에서 검색합니다. 서버가 형식 필드 나 매개 변수 이름/값 쌍을 구문 분석 할 수없는 직선 데이터를 작성 했으므로 서버 코드는 요청 본문을 데이터로 읽고이를 적절한 작업을 수행해야합니다. 서버에 따라 요청의 MIME 내용 유형을 "text/plain"또는 어떤 종류의 데이터가 있는지 나타내는 다른 유형으로 설정해야 할 수도 있습니다. 표준 POST 내용 유형은 "application/x-www-form- urlencoded "또는"multipart/form-data "를 사용하면 서버가 실패 할 지정한 인코딩의 이름/값 쌍에 대해 본문을 구문 분석하려고합니다.

관련 문제