如何在Java中使用cURL?

xuo3flqw  于 2022-11-13  发布在  Java
关注(0)|答案(7)|浏览(227)

我是一个java新手,想在java中使用curl。我的问题是curl内置在java中,或者我必须从任何第三方源安装它才能在Java中使用。如果是这样,如何在java中安装curl。我已经在谷歌上搜索了很长时间,但没有找到任何帮助。希望有人能帮助我。
先谢谢你。

64jmpszr

64jmpszr1#

您可以使用java.net.URL和/或java.net.URLConnection

URL url = new URL("https://stackoverflow.com");

try (BufferedReader reader = new BufferedReader(new InputStreamReader(url.openStream(), "UTF-8"))) {
    for (String line; (line = reader.readLine()) != null;) {
        System.out.println(line);
    }
}

也可以参考Oracle's simple tutorial。但是它有点冗长。为了减少代码的冗长,你可以考虑使用Apache HttpClient
顺便说一句:如果你的下一个问题是“如何处理HTML结果?",那么答案是“使用HTML解析器. No, don't use regex for this"。

另请参阅:

bwntbbo3

bwntbbo32#

有些人已经提到了HttpURLConnectionURLURLConnection,如果您需要curl库提供的所有控制和额外特性(以及更多),我推荐Apache's httpclient

zdwk9cvp

zdwk9cvp3#

Runtime对象允许您从Java执行外部命令行应用程序,因此允许您使用cURL,但是其他答案表明可能有更好的方法来完成您正在尝试的任务。如果您只想下载一个文件,则URL对象将非常有效。

dly7yett

dly7yett4#

使用标准的java库,我建议查看HttpUrlConnection类http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html
它可以处理curl在设置连接时所能做的大部分事情。你对流做什么取决于你。

ldxq2e6h

ldxq2e6h5#

Curl是一个非Java程序,必须在Java程序之外提供。
您可以使用Jakarta Commons Net轻松地获得大部分功能,除非您需要一些特定的功能,如“恢复传输”(这对于您自己编写代码来说是乏味的)

cetgtptt

cetgtptt6#

使用Runtime调用Curl。此代码适用于Ubuntu和Windows。

String[] commands = new String {"curl", "-X", "GET", "http://checkip.amazonaws.com"};
Process process = Runtime.getRuntime().exec(commands);
BufferedReader reader = new BufferedReader(new 
InputStreamReader(process.getInputStream()));
String line;
String response;
while ((line = reader.readLine()) != null) {
    response.append(line);
}
sdnqo3pr

sdnqo3pr7#

将curl命令粘贴到curlconverter.com/java/中,它会使用java.net.URLjava.net.URLConnection将其转换为Java代码。

相关问题