You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求协助编写指定curl命令对应的Java等价实现

Equivalent Java Code for Your curl POST Request

Got it, let's translate that curl command into working Java code. I'll cover two common approaches: using Java's built-in HTTP client (no extra dependencies) and the popular OkHttp library, since both are widely used in projects.

1. Using HttpURLConnection (Built-in, No External Libraries)

This approach uses Java's standard library, so you don't need to add any extra dependencies. We'll handle reading the JSON file, setting all required headers, and sending the POST request:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;

public class CurlToJava {
    public static void main(String[] args) {
        try {
            // Target API URL
            URL url = new URL("https://url.com");
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();

            // Configure request method and core headers
            connection.setRequestMethod("POST");
            connection.setRequestProperty("Content-Type", "application/json");
            connection.setRequestProperty("Accept", "application/json");
            // Replace [APP COOKIES] with your actual cookie string (keep the semicolon if needed)
            connection.setRequestProperty("Cookie", "[APP COOKIES];");

            // Enable output stream to send request body
            connection.setDoOutput(true);

            // Read content from sampleFile.json
            StringBuilder jsonContent = new StringBuilder();
            try (BufferedReader reader = new BufferedReader(new FileReader("sampleFile.json"))) {
                String line;
                while ((line = reader.readLine()) != null) {
                    jsonContent.append(line);
                }
            }

            // Send the JSON content as request body
            try (OutputStream os = connection.getOutputStream()) {
                byte[] input = jsonContent.toString().getBytes("utf-8");
                os.write(input, 0, input.length);
            }

            // Fetch and print response details (optional, adjust based on your needs)
            int responseCode = connection.getResponseCode();
            System.out.println("Response Code: " + responseCode);

            // Read response body if you need to process it
            try (BufferedReader br = new BufferedReader(
                    new java.io.InputStreamReader(connection.getInputStream(), "utf-8"))) {
                StringBuilder response = new StringBuilder();
                String responseLine;
                while ((responseLine = br.readLine()) != null) {
                    response.append(responseLine.trim());
                }
                System.out.println("Response Body: " + response);
            }

            connection.disconnect();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

2. Using OkHttp (Third-Party Library, More Concise)

OkHttp is a lightweight, widely used HTTP client that simplifies request handling. First, add the dependency to your project:

Maven Dependency

<dependency>
    <groupId>com.squareup.okhttp3</groupId>
    <artifactId>okhttp</artifactId>
    <version>4.12.0</version> <!-- Use the latest stable version available -->
</dependency>

Gradle Dependency

implementation 'com.squareup.okhttp3:okhttp:4.12.0'

Then here's the streamlined code:

import okhttp3.MediaType;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
import java.io.File;

public class OkHttpCurlEquivalent {
    public static final MediaType JSON = MediaType.get("application/json; charset=utf-8");

    public static void main(String[] args) {
        OkHttpClient client = new OkHttpClient();

        // Point to your sampleFile.json
        File jsonFile = new File("sampleFile.json");
        RequestBody body = RequestBody.create(jsonFile, JSON);

        Request request = new Request.Builder()
                .url("https://url.com")
                .post(body)
                .addHeader("Content-Type", "application/json")
                .addHeader("Accept", "application/json")
                // Replace [APP COOKIES] with your actual cookie string
                .addHeader("Cookie", "[APP COOKIES];")
                .build();

        try (Response response = client.newCall(request).execute()) {
            System.out.println("Response Code: " + response.code());
            System.out.println("Response Body: " + response.body().string());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Quick Notes:

  • Replace [APP COOKIES] with your real cookie value (keep the trailing semicolon if your original curl command included it).
  • Ensure sampleFile.json is in the correct path relative to your project, or use an absolute file path if needed.
  • Both examples include basic error handling—you'll want to expand this for production (like handling 4xx/5xx responses, file not found errors, etc.).

内容的提问来源于stack exchange,提问作者The Reedemed77

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:43:46