Java 开发人员必备:使用 HttpURLConnection 实现 OpenAI API 音频转换

要使用 Java 发送 HTTP 请求到 https://api.openai.com/v1/audio/transcriptions,您可以使用 Java 中的 HttpURLConnection 类或 Apache HttpClient 库。

以下是使用 HttpURLConnection 类发送 POST 请求的示例代码:

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

public class OpenAIRequest {
    private final String USER_AGENT = "Mozilla/5.0";
    
    public static void main(String[] args) throws Exception {
        OpenAIRequest request = new OpenAIRequest();
        request.sendPost();
    }
    
    // HTTP POST 请求
    public void sendPost() throws Exception {
        String url = "https://api.openai.com/v1/audio/transcriptions";
        URL obj = new URL(url);
        HttpURLConnection con = (HttpURLConnection) obj.openConnection();

        // 添加请求头
        con.setRequestMethod("POST");
        con.setRequestProperty("User-Agent", USER_AGENT);
        con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
        con.setRequestProperty("Authorization", "Bearer YOUR_API_KEY_HERE");
        
        // 请求参数
        String urlParameters = "audio_url=http://your-audio-file-url.com&model=davinci";

        // 发送 POST 请求
        con.setDoOutput(true);
        DataOutputStream wr = new DataOutputStream(con.getOutputStream());
        wr.writeBytes(urlParameters);
        wr.flush();
        wr.close();

        // 获取响应
        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.toString());
    }
}


请注意,您需要将 YOUR_API_KEY_HERE 替换为您的 OpenAI API 密钥,并在请求参数中提供音频文件的 URL 和所选模型(这里使用的是 "davinci" 模型)。

posted @ 2023-04-07 14:04  半抹灯芯  阅读(76)  评论(0编辑  收藏  举报