Java はクロスプラットフォーム プログラミング言語として、ネットワーク アプリケーションの開発によく使用されます。 Web クローラーを開発する場合でも、ネットワーク通信を実行する場合でも、Java はネットワーク関連のクラス ライブラリを多数提供します。その中で、ネットワーク操作において最も基本的なクラスは URLConnection クラスです。この記事では、ネットワーク操作に URLConnection クラスを使用する方法を紹介します。
1. URLConnection クラスの概要
URLConnection は、URL に接続されたリソースにアクセスするために使用される Java の基本クラスです。リソースにアクセスするための拡張可能なメカニズムを提供し、setRequestProperty メソッドを使用してリクエスト パラメーターの設定、接続の確立、データの書き込み、応答の読み取りを行うことができます。 URLConnection は、HTTP、HTTPS、FTP などの複数のタイプの URL リソースを処理できます。
2. URL の構築
URLConnection は Java で構築されており、ネットワーク リソースにアクセスするには、最初に URL オブジェクトを構築する必要があります。 java.net パッケージの URL クラスを使用して、URL オブジェクトを構築できます。 URL クラスのコンストラクターは次のとおりです。
public URL(String spec) throws MalformedURLException;
このうち、spec は文字列形式の URL アドレスです。例:
URL url = new URL("http://www.example.com/file.txt");
3. URLConnection の接続と構成
1. 接続を確立します。
URL.openConnection() メソッドは、リソースに接続されている URLConnection オブジェクトを返します。例:
URLConnection conn = url.openConnection();
2. リクエスト パラメータの設定
URLConnection は、HTTP リクエスト パラメータを設定するための API を提供します。例:
conn.setRequestMethod("GET");//リクエスト メソッドを設定します。
利用可能なリクエスト メソッドは、GET、POST、HEAD、PUT、DELETE、TRACE、OPTIONS、および CONNECT です。
conn.setDoOutput(true);//出力が許可されるかどうか
conn.setDoInput(true);//入力が許可されるかどうか
conn.setRequestProperty("User -Agent ", "Mozilla/5.0 (Windows NT 10.0; Win64; conn.connect() メソッドの前に実行されます。
3. 接続を確立してデータを書き込む
URLConnection.connect() メソッドはリソースへの接続を試みますが、リクエストはすぐには送信されず、サーバーは要求されたメソッドをサポートしています。 getOutputStream() メソッドを呼び出して出力ストリームを取得する前に、setDoOutput(true) メソッドを呼び出して、許可される出力データを設定する必要があります。例:
conn.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());out.write("name=value");//書き込みが必要です送信されたデータ
out.flush();
out.close();
##4. 応答の読み取り
String line;
while ((line = in.readLine()) != null) {System.out.println(line);
4. 完全な例
import java.io.InputStreamReader;
import java.net.URL;import java.net.URLConnection;
public class URLConnectionExample {
public static void main(String[] args) throws Exception { URL url = new URL("http://www.example.com/sample.xml"); URLConnection conn = url.openConnection(); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3"); BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line, xml = ""; while ((line = in.readLine()) != null) { xml += line; } in.close(); System.out.println("XML content: "+xml); }
以上がJava で URLConnection 関数をネットワーク操作に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。