2014-09-12 5 views
0

Можете ли вы рассказать мне, как создать запрос http (s) в jsoup с помощью метода запроса PUT или DELETE?Поддерживает ли 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 не стирают методы. Поскольку это синтаксический анализатор, ему не нужно поддерживать эти операции. То, что вы можете сделать, это использовать 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, я ожидаю, что он сможет обрабатывать все методы для полноты. –

Смежные вопросы