2013-06-03 3 views
0
  1. 여기 웹 서비스에서 응답을 얻기 위해 httpclient를 사용하고 있습니다. httppost를 사용하여 요청을 보내고 있습니다. 서버 데이터 유형은 application/x-www-form-urlencoded입니다.
  2. httpclient를 사용하여 httppost에 대한 콘텐츠 유형을 추가하는 방법은 무엇입니까?

  3. 어떻게, 내가

    String postUrl = url; 
         HttpClient client = new DefaultHttpClient(); 
    
         HttpPost request = new HttpPost(postUrl); 
    
    
        request.setHeader("Content-type", "application/x-www-form-urlencoded"); 
        request.setHeader("Expect", "100-continue"); 
    
         HttpResponse response = client.execute(request); 
         System.out.println("ddddddddddddddddddddddd "+response); 
         BufferedReader reader = new BufferedReader(
           new InputStreamReader(
             response.getEntity().getContent(), "UTF-8")); 
         String line; 
         builder = new StringBuilder(); 
         while ((line = reader.readLine()) != null) { 
          builder.append(line); 
         } 
         Log.d("Response", builder.toString()); 
         resObj = builder.toString(); 
         System.out.println("ddddddddddddddddddddddd "+resObj); 
        } catch (Exception e) { 
         // TODO: handle exception 
         Log.d("ERROR", e.toString()); 
        } 
    
+0

질문을 이해하지 못합니다. – njzk2

+0

나는 request.setHeader ("Content-type", "application/x-www-form-urlencoded")를 사용했다. request.setHeader ("Expect", "100-continue"); – user2394220

+0

그래서 귀하의 질문이 무엇인지 이해하지 못합니다. 당신은 분명히 헤더를 설정하고 헤더를 추가하는 방법에 대해 물어볼 것입니다. – njzk2

답변

0

내가 사용하여 시도 서비스에서 데이터의 "응용 프로그램/x-www-form-urlencoded를"이런 종류의 것을 의미합니다 여기 내 코드는 다음 사항을 추가하는 httpost namepair 값으로,이 작품을 나던, 그래서 다른 방법을 사용하여 결론에 도달

의 작업 좋은 참고 : 우리가 필요로하는 자바 1.7 JRE

String param1 = "9880938687"; 
    String param2 = "value2"; 
    // ... 
    List<NameValuePair> params = new ArrayList<NameValuePair>(); 
    params.add(new BasicNameValuePair("mobile", param1)); 
    String query = null; 
    try { 
     query = String.format("mobile=%s&param2=%s", 
      URLEncoder.encode(param1, charset), 
      URLEncoder.encode(param2, charset)); 
    } catch (UnsupportedEncodingException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

    URLConnection connection = new URL(targetURL).openConnection(); 
    connection.setDoOutput(true); // Triggers POST. 
    connection.setRequestProperty("Accept-Charset", charset); 
    connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=" + charset); 

    try (OutputStream output = connection.getOutputStream()) { 
     output.write(query.getBytes(charset)); 
    } 

    //InputStream response = connection.getInputStream(); 
    // .. 
    //Get Response 
    InputStream is = connection.getInputStream(); 
    BufferedReader rd = new BufferedReader(new InputStreamReader(is)); 
    String line; 
    StringBuffer response = new StringBuffer(); 
    while((line = rd.readLine()) != null) { 
     response.append(line); 
     response.append('\r'); 
    } 
    rd.close(); 
    System.out.println("***"+response.toString()); 
    return response.toString(); 
관련 문제