ホームページ >Java >&#&チュートリアル >Java で URLConnection 関数をネットワーク操作に使用する方法

Java で URLConnection 関数をネットワーク操作に使用する方法

王林
王林オリジナル
2023-06-26 18:10:531235ブラウズ

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. 応答の読み取り

サーバーから応答を取得するときは、getInputStream( ) メソッド サーバーの応答内容を取得し、プログラムが読み取れるデータに変換します。例:

BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));

String line;

while ((line = in.readLine()) != null) {

System.out.println(line);

}
in.close();

4. 完全な例

次は、リモート XML データを読み取り、コンテンツを解析するための完全な例です。 :

import java.io.BufferedReader;

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);
}

}

上記は、URLConnection クラスを使用してネットワーク操作を実行する方法です。 setRequestProperty メソッドを通じてリクエスト パラメータを設定し、getInputStream メソッドを通じて応答コンテンツを読み取ることができます。 URLConnection クラスを使用して、HTML、XML、その他の Web コンテンツの読み取りなどの基本的なネットワーク操作を実装します。同時に、より複雑なネットワーク操作の場合は、他のネットワーク ライブラリを開発に使用することもできます。

以上がJava で URLConnection 関数をネットワーク操作に使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。