public class URLConnect extends 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メソッドを指定して、ファイルデータを送信します args[*] : [-timeout=1] 接続タイムアウト時間を(秒)で指定します(初期値:-1) 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 を使用しています。
コンストラクタと説明 |
---|
URLConnect(String url,
String pass)
コンストラクター
|
修飾子とタイプ | メソッドと説明 |
---|---|
static String |
code2Message(int code)
HttpURLConnection のレスポンスコードに対応するメッセージ文字列を返します。
|
void |
connect()
指定のURLに対して、コネクトします。
|
void |
disconnect()
サーバへのほかの要求が今後発生しそうにないことを示します。
|
String |
getCharset()
キャラクタ 情報を取得します。
|
int |
getCode()
結果コード 情報(HttpURLConnection)を取得します。
|
protected URLConnection |
getConnection()
URL と ユーザー:パスワードを与えて、URLConnectionを返します。
|
long |
getDate()
作成日時 情報を取得します。
|
InputStream |
getInputStream()
接続先のデータの入力ストリームを取得します。
|
long |
getLength()
データ量 情報を取得します。
|
String |
getMessage()
メッセージ 情報(HttpURLConnection)を取得します。
|
String |
getMethod()
メソッド 情報(HttpURLConnection)を取得します。
|
long |
getModified()
更新日時 情報を取得します。
|
BufferedReader |
getReader()
接続先のデータのリーダーを取得します。
|
String |
getType()
タイプ 情報を取得します。
|
String |
getUrl()
URL 情報を取得します。
|
static void |
main(String[] args)
サンプル実行用のメインメソッド
Usage: java org.opengion.fukurou.util.URLConnect [-info/-data] … url [user:passwd]
args[*] : [-info/-data] 情報の取得か、データの取得かを指定します(初期値:-data)。
|
String |
readData()
U接続先のデータを取得します。
|
void |
setCharset(String chset)
キャラクタ 情報を設定します。
|
void |
setPostData(String data)
POSTするデータを設定します。
|
void |
setProxy(String host,
int port)
指定のURLに対して、コネクトするのに使用するプロキシ設定を行います。
|
void |
setRequestProperty(String keys,
String vals)
setRequestPropertyでセットするデータを設定します。
|
void |
setTimeout(int tout)
接続タイムアウト時間を(秒)で指定します
実際には、java.net.URLConnection#setConnectTimeout(int) に 1000倍して設定されます。
|
public void setProxy(String host, int port)
host
- 接続するプロキシのホスト名port
- 接続するプロキシのポート番号public void connect() throws IOException
IOException
- 入出力エラーが発生したとき4.0.1.0 (2007/12/12) Postで複数キーを使えるように修正 |
5.1.6.0 (2010/05/01) charsetを指定できるようにする |
public String readData() throws IOException
IOException
- 入出力エラーが発生したときpublic void disconnect()
protected URLConnection getConnection() throws IOException
IOException
- 入出力エラーが発生したとき5.8.3.0 (2015/01/09) ヘッダ等指定のためにsetRequestPropertyの値を指定できるようにします。 |
6.2.5.0 (2015/06/05) timeout属性追加 |
6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) |
6.4.2.0 (2016/01/29) fukurou.util.StringUtil → fukurou.system.HybsConst に変更 |
public String getUrl()
4.3.4.4 (2009/01/01) メソッド名変更 |
public void setRequestProperty(String keys, String vals)
keys
- パラメータキー(CSV形式)vals
- パラメータ値(CSV形式)IllegalArgumentException
- 引数の数が一致しない場合5.8.3.0 (2015/01/09) ヘッダ等指定のためにsetRequestPropertyの値を指定できるようにします。 |
public void setPostData(String data)
data
- POSTデータ4.1.0.0 (2007/12/22) キーと値のセットを取得するよう変更 |
public String getType()
public long getLength()
public long getDate()
public long getModified()
public int getCode()
public String getMethod()
public String getMessage()
public String getCharset()
public void setCharset(String chset)
chset
- キャラクタ 情報public void setTimeout(int tout)
tout
- タイムアウト時間(秒) (ゼロは、無制限)URLConnection.setConnectTimeout(int)
6.2.5.0 (2015/06/05) timeout属性追加 |
public BufferedReader getReader() throws IOException
IOException
- 入出力エラーが発生したとき6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) |
6.4.2.0 (2016/01/29) fukurou.util.StringUtil → fukurou.system.HybsConst に変更 |
public InputStream getInputStream() throws IOException
IOException
- 入出力エラーが発生したとき5.4.2.0 (2011/12/01) 新規追加 |
6.3.9.0 (2015/11/06) コンストラクタで初期化されていないフィールドを null チェックなしで利用している(findbugs) |
public static String code2Message(int code)
code
- HTTPレスポンスコードHttpURLConnection.HTTP_ACCEPTED
5.6.7.0 (2013/07/27) レスポンスコード例 追加 |
public static void main(String[] args) throws IOException
args
- コマンド引数配列IOException
- 入出力エラーが発生したとき5.6.7.0 (2013/07/27) -errEx 追加 |
6.2.5.0 (2015/06/05) timeout属性追加 |
6.4.5.1 (2016/04/28) FileStringのコンストラクター変更 |
6.4.5.2 (2016/05/06) fukurou.util.FileString から、fukurou.util.FileUtil に移動。 |
Webアプリケーションフレームワーク openGionCopyright (c) 2009 The openGion Project.