我想在java中使用curl。 curl 是 Java 内置的还是我必须从任何第 3 方源安装它才能与 Java 一起使用?如果需要单独安装怎么办?
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 简单教程。不过,这有点冗长。为了得到更简洁的代码,您可能需要考虑使用 Apache HttpClient。
顺便说一句:如果您的下一个问题是“如何处理 HTML 结果?”,那么答案是“使用 HTML 解析器。不,不要使用正则表达式。”。
有些人已经提到了HttpURLConnection、URL和URLConnection。如果您需要curl库为您提供的所有控制和额外功能(以及更多),我推荐Apache的httpclient。
您可以使用
Jakarta Commons Net 轻松获得大部分功能,除非您需要一些特定的功能,例如“恢复传输”(您自己编写代码很繁琐)
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);
}