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.