2014-09-12 2 views
0

요청 방법 PUT 또는 DELETE를 사용하여 jsoup에서 http (s) 요청을 만드는 방법을 알려주시겠습니까?jsoup가 안정/휴식 요청을 지원합니까

나는이 링크를 발견했다 : https://github.com/jhy/jsoup/issues/158 하지만 몇 년 전이므로 잘하면 라이브러리에 구현 된 약간의 지원이있다.

내가 아는 한 HttpConnection 객체는 'get'또는 'post'요청 메소드 만 사용할 수 있습니다.

http://jsoup.org/apidocs/org/jsoup/helper/HttpConnection.html

http://jsoup.org/apidocs/org/jsoup/Connection.html

답변

1

Jsoup은 PUT이나 DELETE 메소드를 지원하지 않습니다. 파서이기 때문에 이러한 연산을 지원할 필요가 없습니다. 당신이 할 수있는 일은 HttpURLConnection을 사용하는 것입니다. 이것은 Jsoup가 밑에서 사용하는 것과 같습니다. 이것으로 원하는 메소드를 사용할 수 있고, 결과적으로 jsoup로 결과를 파싱 할 수 있습니다 (정말로 필요한 경우). 코드 확인 :

import java.io.BufferedReader; 
import java.io.InputStreamReader; 
import java.io.OutputStreamWriter; 
import java.net.HttpURLConnection; 
import java.net.URL; 

public class Main { 

    public static void main(String[] args) { 
     try { 
      String rawData = "RAW_DATA_HERE"; 
      String url = "URL_HERE"; 
      URL obj = new URL(url); 
      HttpURLConnection con = (HttpURLConnection) obj.openConnection(); 

      //add reuqest header 
      con.setRequestMethod("METHOD_HERE"); //e.g POST 
      con.setRequestProperty("KEY_HERE", "VALUE_HERE"); //e.g key = Accept, value = application/json 

      con.setDoOutput(true); 

      OutputStreamWriter w = new OutputStreamWriter(con.getOutputStream(), "UTF-8"); 

      w.write(rawData); 
      w.close(); 

      int responseCode = con.getResponseCode(); 

      BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); 

      String inputLine; 
      StringBuffer response = new StringBuffer(); 

      while ((inputLine = in.readLine()) != null) { 
       response.append(inputLine); 
      } 

      in.close(); 

      System.out.println("Response code : " + responseCode); 
      System.out.println(response.toString()); 

      //Use Jsoup on response to parse it if it makes your work easier. 
     } catch(Exception e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+0

코드 및 설명 주셔서 감사합니다. HttpUrlConnection 접근법을 알고 있었지만 jsoup가 GET, POST 메소드를 지원하기 때문에 모든 메소드를 완벽하게 처리 할 수 ​​있기를 기대합니다. –

관련 문제