Class KHTTPClient

java.lang.Object
ch.k43.util.KHTTPClient

public class KHTTPClient extends Object
Support basic HTTP/HTTPS client transactions.

Note: The request headers "Date", "User-Agent", "Host" and "Content-Length" are automatically added.

 Example:
 
 KHTTPClient http = new KHTTPClient();
              
 if (!http.get("https://reqbin.com/echo/get/json")) {
    KLog.error("Error: {}", http.getLastError());
 } else {
    System.out.println(http.getResponseDataAsString());
 }
 
  • Constructor Details

    • KHTTPClient

      public KHTTPClient()
      Class constructor.
  • Method Details

    • delete

      public boolean delete(String argURL, Properties argHeaders)
      Execute HTTP DELETE request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • get

      public boolean get(String argURL)
      Execute HTTP GET request.
      Parameters:
      argURL - URL to connect
      Returns:
      True if HTTP return code is 200, false otherwise
    • get

      public boolean get(String argURL, Properties argHeaders)
      Execute HTTP GET request and set HTTP request headers.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      Returns:
      True if HTTP return code is 200 else false
    • getLastError

      public String getLastError()
      Return last error message.
      Returns:
      Last error message or null
    • getResponseCode

      public int getResponseCode()
      Return last HTTP response code.
      Returns:
      Last HTTP response code
    • getResponseDataAsBytes

      public byte[] getResponseDataAsBytes()
      Return HTTP response data.
      Returns:
      byte[] HTTP response data
    • getResponseDataAsString

      public String getResponseDataAsString()
      Return HTTP response data.
      Returns:
      HTTP response data or null
    • getResponseHeaders

      public Properties getResponseHeaders()
      Return last HTTP response headers.
      Returns:
      HTTP response headers
    • getResponseTimeMs

      public int getResponseTimeMs()
      Get response time of last HTTP request in milliseconds.
      Returns:
      HTTP response time in milliseconds
    • head

      public boolean head(String argURL, Properties argHeaders)
      Execute HTTP HEAD request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      Returns:
      True (if HTTP return code 200), else false
    • options

      public boolean options(String argURL, Properties argHeaders)
      Execute HTTP OPTIONS request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • patch

      public boolean patch(String argURL, Properties argHeaders, byte[] argPayload)
      Execute HTTP PATCH request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with PATCH request
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • patch

      public boolean patch(String argURL, Properties argHeaders, String argPayload)
      Execute HTTP PATCH request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with PATCH request
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • post

      public boolean post(String argURL, Properties argHeaders, byte[] argPayload)
      Execute HTTP POST request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with POST request
      Returns:
      True (if HTTP return code 200), else false
    • post

      public boolean post(String argURL, Properties argHeaders, String argPayload)
      Execute HTTP POST request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with POST request
      Returns:
      True (if HTTP return code 200), else false
    • put

      public boolean put(String argURL, Properties argHeaders, byte[] argPayload)
      Execute HTTP PUT request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with PUT request
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • put

      public boolean put(String argURL, Properties argHeaders, String argPayload)
      Execute HTTP PUT request.
      Parameters:
      argURL - URL to connect
      argHeaders - Additional HTTP request headers or null
      argPayload - Data to be sent with PUT request
      Returns:
      True (if HTTP return code 200), else false
      Since:
      2024.05.22
    • setTimeOutSec

      public void setTimeOutSec(int argTimeOutSec)
      Set timeout for connect and read requests.
      Parameters:
      argTimeOutSec - Number of seconds for timeout (0 = indefinite timeout)
      Since:
      2025.01.24
    • toString

      public String toString()
      String representation of object.
      Overrides:
      toString in class Object
      Since:
      2024.08.23