猿问

如何在 Java 中使用 curl 调用 url?

我正在使用以下 CURL 命令以 .pdf 格式保存响应:

curl -d "@name_of_xmlFile.xml" -X POST http:url/ -o name_of_response_pdfFile.pdf

如何使用java进行调用并将响应生成的pdf文件保存在特定文件夹中。


眼眸繁星
浏览 312回答 2
2回答

白衣非少年

您还可以在不使用 curl 的情况下在 Java 中执行帖子(不确定是否必须使用 curl)摘自这篇文章:private void doPost() throws Exception {    String url = "http:url/";    URL obj = new URL(url);    HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();    //add reuqest header    con.setRequestMethod("POST");    String urlParameters = "sn=C02G8416DRJM&cn=&locale=&caller=&num=12345";    // Send post request    con.setDoOutput(true);    DataOutputStream wr = new DataOutputStream(con.getOutputStream());    wr.writeBytes(urlParameters);    wr.flush();    wr.close();    int responseCode = con.getResponseCode();    System.out.println("\nSending 'POST' request to URL : " + url);    System.out.println("Post parameters : " + urlParameters);    System.out.println("Response Code : " + responseCode);    BufferedReader in = new BufferedReader(            new InputStreamReader(con.getInputStream()));    String inputLine;    StringBuffer response = new StringBuffer();    while ((inputLine = in.readLine()) != null) {        response.append(inputLine);    }    in.close();    //print result    System.out.println(response.toString());    // could ewually save to file rather than to stdout.}对于发送身体,你可以试试这个。如果使用 curl 是一项硬性要求,您可以Runtime.getRuntime().exec(command);按此处所示使用,但请注意,这不一定是可移植的(例如,如果未安装 curl),并且如果正在运行的命令未以某种方式验证为防止不良行为者运行任意命令等...

拉风的咖菲猫

欢迎使用堆栈溢出!这里的问题是 curl 是一个 Linux 命令。因为 Java 旨在编写一次并在任何地方(在任何机器上)运行,所以 Java 不能直接使用 curl 之类的命令,默认情况下在每个操作系统上都不存在这些命令。因此,您需要包含其他地方的附加功能。我个人喜欢使用Unirest,这是一个很好的简单轻量级框架,可以帮助在 Java 中使用 Rest。祝你好运 !
随时随地看视频慕课网APP

相关分类

Java
我要回答