我是一个java新手,想在java中使用curl。我的问题是curl内置在java中,或者我必须从任何第三方源安装它才能在Java中使用。如果是这样,如何在java中安装curl。我已经在谷歌上搜索了很长时间,但没有找到任何帮助。希望有人能帮助我。先谢谢你。
64jmpszr1#
您可以使用java.net.URL和/或java.net.URLConnection。
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"。
bwntbbo32#
有些人已经提到了HttpURLConnection、URL和URLConnection,如果您需要curl库提供的所有控制和额外特性(以及更多),我推荐Apache's httpclient。
zdwk9cvp3#
Runtime对象允许您从Java执行外部命令行应用程序,因此允许您使用cURL,但是其他答案表明可能有更好的方法来完成您正在尝试的任务。如果您只想下载一个文件,则URL对象将非常有效。
dly7yett4#
使用标准的java库,我建议查看HttpUrlConnection类http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html它可以处理curl在设置连接时所能做的大部分事情。你对流做什么取决于你。
ldxq2e6h5#
Curl是一个非Java程序,必须在Java程序之外提供。您可以使用Jakarta Commons Net轻松地获得大部分功能,除非您需要一些特定的功能,如“恢复传输”(这对于您自己编写代码来说是乏味的)
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); }
sdnqo3pr7#
将curl命令粘贴到curlconverter.com/java/中,它会使用java.net.URL和java.net.URLConnection将其转换为Java代码。
7条答案
按热度按时间64jmpszr1#
您可以使用
java.net.URL
和/或java.net.URLConnection
。也可以参考Oracle's simple tutorial。但是它有点冗长。为了减少代码的冗长,你可以考虑使用Apache HttpClient。
顺便说一句:如果你的下一个问题是“如何处理HTML结果?",那么答案是“使用HTML解析器. No, don't use regex for this"。
另请参阅:
bwntbbo32#
有些人已经提到了HttpURLConnection、URL和URLConnection,如果您需要curl库提供的所有控制和额外特性(以及更多),我推荐Apache's httpclient。
zdwk9cvp3#
Runtime对象允许您从Java执行外部命令行应用程序,因此允许您使用cURL,但是其他答案表明可能有更好的方法来完成您正在尝试的任务。如果您只想下载一个文件,则URL对象将非常有效。
dly7yett4#
使用标准的java库,我建议查看HttpUrlConnection类http://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.html
它可以处理curl在设置连接时所能做的大部分事情。你对流做什么取决于你。
ldxq2e6h5#
Curl是一个非Java程序,必须在Java程序之外提供。
您可以使用Jakarta Commons Net轻松地获得大部分功能,除非您需要一些特定的功能,如“恢复传输”(这对于您自己编写代码来说是乏味的)
cetgtptt6#
使用Runtime调用Curl。此代码适用于Ubuntu和Windows。
sdnqo3pr7#
将curl命令粘贴到curlconverter.com/java/中,它会使用
java.net.URL
和java.net.URLConnection
将其转换为Java代码。