私はJavaの初心者で、Javaでcurlを使用したいと思っていました。私の質問は、Javaに組み込まれたcurlであるか、Javaで使用するにはサードパーティのソースからインストールする必要があります。もしそうなら、Javaでカールをインストールする方法。私は長い間グーグルで働いてきましたが、助けは見つかりませんでした。誰かが私を助けてくれることを願っています。
前もって感謝します。
私はJavaの初心者で、Javaでcurlを使用したいと思っていました。私の質問は、Javaに組み込まれたcurlであるか、Javaで使用するにはサードパーティのソースからインストールする必要があります。もしそうなら、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パーサーを使用します。いいえ、これには正規表現を使用しないでください。」です。
URLConnection
、HTTP仕様を理解している必要があります。ちなみに、PHPとJavaを比較しないでください。リンゴとオレンジのようです。自己トラブルや混乱を避けるために、PHPを忘れてJavaに新鮮な見方をしてください。それはまったく異なるイデオロギーを持つ言語です。PS:私は両方を行うので、経験から言います。
一部の人々はすでにHttpURLConnection、URLおよびURLConnectionについて言及しています。curlライブラリが提供するすべてのコントロールと追加機能(およびその他)が必要な場合は、Apacheのhttpclientをお勧めします。
標準のJavaライブラリを使用して、HttpUrlConnectionクラスhttp://java.sun.com/javase/6/docs/api/java/net/HttpURLConnection.htmlを確認することをお勧めします
curlが接続を設定することでできることのほとんどを処理できます。ストリームで何をするかはあなた次第です。
CurlはJava以外のプログラムであり、Javaプログラムの外部で提供する必要があります。
必要な「再開転送」などの特定の機能が必要な場合を除いて、Jakarta Commons Netを使用して機能の多くを簡単に取得できます(自分でコードを作成するのは面倒です)。
ランタイムを使用して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);
}