CtrlK
BlogDocsLog inGet started
Tessl Logo

tessl/maven-cn-hutool--hutool-all

A comprehensive Java utility library providing static method wrappers for common operations to reduce API learning costs and improve development efficiency

Pending
Overview
Eval results
Files

http-client-operations.mddocs/

HTTP Client Operations

Comprehensive HTTP client utilities through the HttpUtil class, providing simple methods for HTTP requests, file downloads, and server creation based on HttpURLConnection.

Import

import cn.hutool.http.HttpUtil;
import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.Method;

Simple HTTP Methods

GET Requests

// Simple GET request
public static String get(String urlString);
public static String get(String urlString, Charset charset);

// GET with parameters
public static String get(String urlString, Map<String, Object> paramMap);
public static String get(String urlString, Map<String, Object> paramMap, int timeout);

POST Requests

// Simple POST request
public static String post(String urlString, String body);
public static String post(String urlString, Map<String, Object> paramMap);

// POST with custom content type
public static String post(String urlString, String body, String contentType);

Other HTTP Methods

// PUT requests
public static String put(String urlString, String body);
public static String put(String urlString, Map<String, Object> paramMap);

// DELETE requests
public static String delete(String urlString);
public static String delete(String urlString, Map<String, Object> paramMap);

// HEAD requests
public static String head(String urlString);

// PATCH requests
public static String patch(String urlString, String body);

Advanced HTTP Operations

Request Execution

// Execute custom request
public static HttpResponse execute(HttpRequest request);

// Execute with specific method
public static HttpResponse execute(Method method, String url);
public static HttpResponse execute(Method method, String url, Map<String, Object> paramMap);

Request Building

// Create request builders
public static HttpRequest createGet(String url);
public static HttpRequest createPost(String url);
public static HttpRequest createPut(String url);
public static HttpRequest createDelete(String url);
public static HttpRequest createPatch(String url);
public static HttpRequest createHead(String url);
public static HttpRequest createOptions(String url);
public static HttpRequest createTrace(String url);

// Create request with custom method
public static HttpRequest createRequest(Method method, String url);

Usage Examples:

// Simple requests
String response = HttpUtil.get("https://api.example.com/users");
String result = HttpUtil.post("https://api.example.com/login", 
    MapUtil.of("username", "admin", "password", "123456"));

// Advanced request building
HttpResponse response = HttpUtil.createPost("https://api.example.com/data")
    .header("Content-Type", "application/json")
    .header("Authorization", "Bearer token123")
    .body("{\"name\":\"test\",\"value\":123}")
    .timeout(5000)
    .execute();

String responseBody = response.body();
int statusCode = response.getStatus();

File Operations

File Downloads

// Download file to local path
public static long downloadFile(String url, String destFilePath);
public static long downloadFile(String url, File destFile);

// Download with progress monitoring
public static long downloadFile(String url, File destFile, StreamProgress streamProgress);
public static long downloadFile(String url, File destFile, int timeout, 
                               StreamProgress streamProgress);

File Uploads

// Upload file via POST
public static String post(String urlString, Map<String, Object> paramMap, File... files);
public static String post(String urlString, Map<String, Object> paramMap, 
                         Map<String, File> fileMap);

Usage Examples:

// Download file
long size = HttpUtil.downloadFile("https://example.com/file.zip", "local-file.zip");

// Upload file
Map<String, Object> params = MapUtil.of("description", "My file");
File file = new File("upload.txt");
String result = HttpUtil.post("https://api.example.com/upload", params, file);

// Multiple file upload
Map<String, File> fileMap = MapUtil.of(
    "file1", new File("doc1.pdf"),
    "file2", new File("doc2.pdf")
);
String result = HttpUtil.post("https://api.example.com/batch-upload", null, fileMap);

URL and Query Operations

URL Utilities

// URL validation
public static boolean isHttp(String url);
public static boolean isHttps(String url);

// URL encoding/decoding
public static String encode(String url, Charset charset);
public static String decode(String url, Charset charset);
public static String encodeParams(Map<String, Object> paramMap, Charset charset);

Query String Operations

// Build query string from parameters
public static String toParams(Map<String, Object> paramMap);
public static String toParams(Map<String, Object> paramMap, Charset charset);

// Parse query string
public static Map<String, String> decodeParamMap(String query, Charset charset);

HttpRequest Class

Fluent API for building HTTP requests:

public class HttpRequest {
    // Request configuration
    public HttpRequest method(Method method);
    public HttpRequest url(String url);
    
    // Headers
    public HttpRequest header(String name, String value);
    public HttpRequest headerMap(Map<String, String> headerMap, boolean isOverride);
    public HttpRequest contentType(String contentType);
    public HttpRequest userAgent(String userAgent);
    
    // Authentication
    public HttpRequest basicAuth(String username, String password);
    public HttpRequest bearerAuth(String token);
    
    // Request body
    public HttpRequest body(String body);
    public HttpRequest body(byte[] bodyBytes);
    public HttpRequest form(Map<String, Object> formMap);
    public HttpRequest form(String name, Object value);
    
    // Parameters
    public HttpRequest query(String name, Object value);
    public HttpRequest query(Map<String, Object> queryMap);
    
    // Timeouts and configuration
    public HttpRequest timeout(int milliseconds);
    public HttpRequest connectionTimeout(int milliseconds);
    public HttpRequest readTimeout(int milliseconds);
    
    // Cookies
    public HttpRequest cookie(String name, String value);
    public HttpRequest cookie(Cookie cookie);
    
    // Redirects and SSL
    public HttpRequest followRedirects(boolean followRedirects);
    public HttpRequest disableSslValidation();
    
    // Execution
    public HttpResponse execute();
    public String executeAsync();
}

HttpResponse Class

Response handling and data extraction:

public class HttpResponse {
    // Status
    public int getStatus();
    public boolean isOk();
    public boolean isRedirected();
    
    // Headers
    public String header(String name);
    public Map<String, List<String>> headers();
    public String contentType();
    public Charset charset();
    public long contentLength();
    
    // Body content
    public String body();
    public String body(Charset charset);
    public byte[] bodyBytes();
    public InputStream bodyStream();
    
    // Cookies
    public List<HttpCookie> getCookies();
    public String getCookie(String name);
    
    // Utilities
    public File writeBodyToFile(File targetFile);
    public void close();
}

Usage Examples:

// Complex request with authentication and custom headers
HttpResponse response = HttpUtil.createPost("https://api.example.com/secure-endpoint")
    .bearerAuth("your-jwt-token")
    .header("X-API-Version", "v2")
    .contentType("application/json")
    .body("{\"action\":\"process\",\"data\":[1,2,3]}")
    .timeout(10000)
    .execute();

// Handle response
if (response.isOk()) {
    String result = response.body();
    String contentType = response.contentType();
    System.out.println("Success: " + result);
} else {
    System.err.println("Error: " + response.getStatus());
}

Cookie Management

Global Cookie Manager

// Enable global cookie management
public static void setGlobalCookieManager(CookieManager cookieManager);
public static CookieManager getGlobalCookieManager();

HTTP Server

Simple HTTP Server

// Create simple HTTP server
public static SimpleServer createServer(int port);
public static SimpleServer createServer(int port, String root);

Usage Example:

// Create and start simple HTTP server
SimpleServer server = HttpUtil.createServer(8080, "/var/www/html");
server.start();

Constants and Enums

HTTP Methods

public enum Method {
    GET, POST, HEAD, OPTIONS, PUT, DELETE, TRACE, CONNECT, PATCH
}

Content Types

// Common content types
public static final String CONTENT_TYPE_JSON = "application/json";
public static final String CONTENT_TYPE_XML = "application/xml";
public static final String CONTENT_TYPE_FORM_URLENCODED = "application/x-www-form-urlencoded";
public static final String CONTENT_TYPE_MULTIPART = "multipart/form-data";
public static final String CONTENT_TYPE_TEXT = "text/plain";
public static final String CONTENT_TYPE_HTML = "text/html";

HTTP Status Codes

Common status codes are available as constants in the response handling. The HTTP utilities automatically handle redirects, cookies, and common error conditions, making it easy to work with REST APIs and web services without external dependencies.

Install with Tessl CLI

npx tessl i tessl/maven-cn-hutool--hutool-all

docs

additional-utilities.md

bean-object-manipulation.md

collection-utilities.md

core-string-operations.md

cryptographic-operations.md

database-access.md

date-time-handling.md

file-io-operations.md

http-client-operations.md

index.md

json-processing.md

tile.json