openGionopenGion
5.8.1.0

org.opengion.fukurou.util
クラス URLConnect

java.lang.Object
  上位を拡張 org.opengion.fukurou.util.URLConnect
直系の既知のサブクラス:
SOAPConnect

public class URLConnect
extends java.lang.Object

URLConnect は、指定のURL にアクセスして、情報/データを取得します。 URL へのアクセスにより、エンジンでは各種処理を実行させることが可能になります。 例えば、帳票デーモンの起動や、長時間かかる処理の実行などです。 なお、URLに引数が付く場合は、ダブルコーテーションで括って下さい。 - 付き引数は、指定順番は、関係ありません。- 無し引数(url,user:passwd)は、 順番があります。 Usage: java org.opengion.fukurou.util.URLConnect [-info/-data] … url [user:passwd] args[*] : [-info/-data] 情報の取得か、データの取得かを指定します(初期値:-data)。 args[*] : [-post=ファイル名] POSTメソッドを指定して、ファイルデータを送信します(初期値:-get)。 args[*] : [-encode=UTF-8] エンコードを指定します(通常は接続先のencodeを使用)。 args[*] : [-out=ファイル名] 結果を指定されたファイルエンコードでファイルに出力します。 args[*] : [-errEx=true/false] trueの場合、レスポンスコードが、4XX,5XX の時に RuntimeException を投げます(初期値:false)。 args[A] : url URLを指定します。GETの場合、パラメータは ?KEY=VALです。 args[B] : [user:passwd] BASIC認証のエリアへのアクセス時に指定します。 ※ プロキシ設定の3つの方法 プロキシ設定には、3つの方法があります。 1. URL url = URL( "http",proxyHost,proxyPort, url ); URLConnection urlConn = url.openConnection(); 2. SocketAddress scaddr = new InetSocketAddress( proxyHost, proxyPort ); Proxy proxy = new Proxy( Proxy.Type.HTTP, scaddr ); URL url = new Url( url ); URLConnection urlConn = url.openConnection( proxy ); 3. System.setProperty( "http.proxyHost",host ); System.setProperty( "http.proxyPort",String.valueOf( port ) ); URL url = new Url( url ); URLConnection urlConn = url.openConnection(); System.clearProperty( "http.proxyHost" ); System.clearProperty( "http.proxyPort" ); 1. 、2. の方法は、urlConn.getContentType() を実行すると、エラーになります。(原因不明) 3. の方法では、マルチスレッドで実行する場合に、問題が発生します。 本クラスでは、方法2 を使用しています。

バージョン
4.0
作成者
Kazuhiko Hasegawa
導入されたバージョン:
JDK5.0,

コンストラクタの概要
URLConnect(java.lang.String url, java.lang.String pass)
          コンストラクター
 
メソッドの概要
static java.lang.String code2Message(int code)
          HttpURLConnection のレスポンスコードに対応するメッセージ文字列を返します。
 void connect()
          指定のURLに対して、コネクトします。
 void disconnect()
          サーバへのほかの要求が今後発生しそうにないことを示します。
 java.lang.String getCharset()
          キャラクタ 情報を取得します。
 int getCode()
          結果コード 情報(HttpURLConnection)を取得します。
protected  java.net.URLConnection getConnection()
          URL と ユーザー:パスワードを与えて、URLConnectionを返します。
 long getDate()
          作成日時 情報を取得します。
 java.io.InputStream getInputStream()
          接続先のデータの入力ストリームを取得します。
 long getLength()
          データ量 情報を取得します。
 java.lang.String getMessage()
          メッセージ 情報(HttpURLConnection)を取得します。
 java.lang.String getMethod()
          メソッド 情報(HttpURLConnection)を取得します。
 long getModified()
          更新日時 情報を取得します。
 java.io.BufferedReader getReader()
          接続先のデータのリーダーを取得します。
 java.lang.String getType()
          タイプ 情報を取得します。
 java.lang.String getUrl()
          URL 情報を取得します。
static void main(java.lang.String[] args)
          サンプル実行用のメインメソッド Usage: java org.opengion.fukurou.util.URLConnect [-info/-data] … url [user:passwd] args[*] : [-info/-data] 情報の取得か、データの取得かを指定します(初期値:-data)。
 java.lang.String readData()
          U接続先のデータを取得します。
 void setCharset(java.lang.String chset)
          キャラクタ 情報を設定します。
 void setPostData(java.lang.String data)
          POSTするデータを設定します。
 void setProxy(java.lang.String host, int port)
          指定のURLに対して、コネクトするのに使用するプロキシ設定を行います。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

URLConnect

public URLConnect(java.lang.String url,
                  java.lang.String pass)
コンストラクター

パラメータ:
url - 接続するアドレスを指定します。(http://server:port/dir/file.html)
pass - ユーザー:パスワード(認証接続が必要な場合)
メソッドの詳細

setProxy

public void setProxy(java.lang.String host,
                     int port)
指定のURLに対して、コネクトするのに使用するプロキシ設定を行います。 このときに、ヘッダー情報を内部変数に設定しておきます。

パラメータ:
host - 接続するプロキシのホスト名
port - 接続するプロキシのポート番号

connect

public void connect()
             throws java.io.IOException
指定のURLに対して、コネクトします。 このときに、ヘッダー情報を内部変数に設定しておきます。

例外:
java.io.IOException - 入出力エラーが発生したとき
変更履歴:
4.0.1.0 (2007/12/12) Postで複数キーを使えるように修正
5.1.6.0 (2010/05/01) charsetを指定できるようにする

readData

public java.lang.String readData()
                          throws java.io.IOException
U接続先のデータを取得します。 この処理の前に、connect() 処理を実行しておく必要があります。 取得したデータは、指定のURL へのアクセスのみです。 通常のWebブラウザは、イメージや、JavaScriptファイル、CSSファイルなど、 各種ファイル毎にHTTP接続を行い、取得して、レンダリングします。 このメソッドでの処理では、それらのファイル内に指定されているURLの 再帰的な取得は行いません。 よって、フレーム処理なども行いません。 本来は、Stream のまま処理することで、バイナリデータも扱えますが、ここでは、 テキストデータ(String)に変換して使用できるデータのみ扱えます。

戻り値:
接続結果
例外:
java.io.IOException - 入出力エラーが発生したとき

disconnect

public void disconnect()
サーバへのほかの要求が今後発生しそうにないことを示します。


getConnection

protected java.net.URLConnection getConnection()
                                        throws java.io.IOException
URL と ユーザー:パスワードを与えて、URLConnectionを返します。 ユーザー:パスワード が null でない場合は、BASCI認証エリアへのアクセスの為、 BASE64Encoder を行って、Authorization プロパティーを設定します。 ここで返す URLConnection は、すでに、connect() メソッド実行済みの リモート接続が完了した状態のオブジェクトです。

戻り値:
URLConnectionオブジェクト
例外:
java.io.IOException - 入出力エラーが発生したとき

getUrl

public java.lang.String getUrl()
URL 情報を取得します。

戻り値:
URL情報
変更履歴:
4.3.4.4 (2009/01/01) メソッド名変更

setPostData

public void setPostData(java.lang.String data)
POSTするデータを設定します。 POSTする場合は、connect() 処理を行う前に、データを設定しておく必要があります。

パラメータ:
data - POSTデータ
変更履歴:
4.1.0.0 (2007/12/22) キーと値のセットを取得するよう変更

getType

public java.lang.String getType()
タイプ 情報を取得します。

戻り値:
タイプ 情報

getLength

public long getLength()
データ量 情報を取得します。

戻り値:
データ量 情報

getDate

public long getDate()
作成日時 情報を取得します。

戻り値:
作成日時

getModified

public long getModified()
更新日時 情報を取得します。

戻り値:
更新日時

getCode

public int getCode()
結果コード 情報(HttpURLConnection)を取得します。

戻り値:
結果コード 情報

getMethod

public java.lang.String getMethod()
メソッド 情報(HttpURLConnection)を取得します。

戻り値:
メソッド 情報

getMessage

public java.lang.String getMessage()
メッセージ 情報(HttpURLConnection)を取得します。

戻り値:
メッセージ 情報

getCharset

public java.lang.String getCharset()
キャラクタ 情報を取得します。

戻り値:
キャラクタ 情報

setCharset

public void setCharset(java.lang.String chset)
キャラクタ 情報を設定します。

パラメータ:
chset - キャラクタ 情報

getReader

public java.io.BufferedReader getReader()
                                 throws java.io.IOException
接続先のデータのリーダーを取得します。 この処理の前に、connect() 処理を実行しておく必要があります。 取得したデータは、指定のURL へのアクセスのみです。 通常のWebブラウザは、イメージや、JavaScriptファイル、CSSファイルなど、 各種ファイル毎にHTTP接続を行い、取得して、レンダリングします。 このメソッドでの処理では、それらのファイル内に指定されているURLの 再帰的な取得は行いません。 よって、フレーム処理なども行いません。

戻り値:
接続結果のリーダー
例外:
java.io.IOException - 入出力エラーが発生したとき

getInputStream

public java.io.InputStream getInputStream()
                                   throws java.io.IOException
接続先のデータの入力ストリームを取得します。 この処理の前に、connect() 処理を実行しておく必要があります。 取得したデータは、指定のURL へのアクセスのみです。 通常のWebブラウザは、イメージや、JavaScriptファイル、CSSファイルなど、 各種ファイル毎にHTTP接続を行い、取得して、レンダリングします。 このメソッドでの処理では、それらのファイル内に指定されているURLの 再帰的な取得は行いません。 よって、フレーム処理なども行いません。

戻り値:
接続結果の入力を出力します。
例外:
java.io.IOException - 入出力エラーが発生したとき
変更履歴:
5.4.2.0 (2011/12/01) 新規追加

code2Message

public static java.lang.String code2Message(int code)
HttpURLConnection のレスポンスコードに対応するメッセージ文字列を返します。 HttpURLConnection の getResponseCode() メソッドにより取得された、HTTPレスポンスコード に対応する文字列を返します。この文字列は、HttpURLConnection で定義された static 定数のコメントを、定義しています。

パラメータ:
code - HTTPレスポンスコード
戻り値:
レスポンスコードに対応する文字列
関連項目:
HttpURLConnection.HTTP_ACCEPTED
変更履歴:
5.6.7.0 (2013/07/27) レスポンスコード例 追加

main

public static void main(java.lang.String[] args)
                 throws java.io.IOException
サンプル実行用のメインメソッド Usage: java org.opengion.fukurou.util.URLConnect [-info/-data] … url [user:passwd] args[*] : [-info/-data] 情報の取得か、データの取得かを指定します(初期値:-data)。 args[*] : [-post=ファイル名] POSTメソッドを指定して、ファイルデータを送信します(初期値:-get)。 args[*] : [-encode=UTF-8] エンコードを指定します(通常は接続先のencodeを使用) args[*] : [-out=ファイル名] 結果をファイルに出力します。ファイルエンコードも指定します。 args[*] : [-errEx=true/false] trueの場合、レスポンスコードが、4XX,5XX の時に RuntimeException を投げます(初期値:false)。 args[A] : url URLを指定します。GETの場合、パラメータは ?KEY=VALです。 args[B] : [user:passwd] BASIC認証のエリアへのアクセス時に指定します。

パラメータ:
args - コマンド引数配列
例外:
java.io.IOException - 入出力エラーが発生したとき
変更履歴:
5.6.7.0 (2013/07/27) -errEx 追加

openGion 5.8.1.0

Webアプリケーションフレームワーク openGion
SourceForge.JPCopyright (c) 2009 The openGion Project.