Javaには、こういう便利なクラスがあります。
「Java」カテゴリーアーカイブ
URLEncoder
URLEncoder, URLDecoder を使うと簡単にURLエンコーディングができます。URLエンコーディングというのはapplication/x-www-form-urlencoded MIME 形式に変換することで、たとえば、<title>タイトル</title>という文字列をURLエンコーディングすると、%3Ctitle%3E%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%3C%2Ftitle%3Eとなります。
詳細はHTML仕様の17.13.4 Form content typesを参照してください。符号化にあたっては、次の規則に従います。
- [a-z][A-Z][0-9]は元のまま残す
- [.-*_]は元のまま残す
- 空白文字はプラス記号に変換する(‘ ‘→’+’)
- ほかのすべての文字はバイト値に変換され、%数値となる(“<“→”%3C”)
Javaでのサンプルプログラムは次のようになります。
import java.net.URLDecoder;
import java.net.URLEncoder;
public class UrlEncoderTest {
public static String createHtmlText() {
String text = “<html><head><title>タイトル</title></head><body>日本語</body></html>”;
return text;
}
public static void main(String[] args) {
String data = “日本語”;
String encoding = “Shift_JIS”;
String src = null;
try {
src = URLEncoder.encode(data, encoding);
String dst = URLDecoder.decode(src, encoding);
System.out.println(“data: “+data);
System.out.println(“src : “+src);
System.out.println(“dst : “+dst);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
data = createHtmlText();
encoding = “UTF-8”;
try {
src = URLEncoder.encode(data, encoding);
String dst = URLDecoder.decode(src, encoding);
System.out.println(“data: “+data);
System.out.println(“src : “+src);
System.out.println(“dst : “+dst);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
実行結果は次の通り。
src : %93%FA%96%7B%8C%EA
dst : 日本語
data: <html><head><title>タイトル</title></head><body>日本語</body></html>
src : %3Chtml%3E%3Chead%3E%3Ctitle%3E%E3%82%BF%E3%82%A4%E3%83%88%E3%83%AB%3C%2Ftitle%3E%3C%2Fhead%3E%3Cbody%3E%E6%97%A5%E6%9C%AC%E8%AA%9E%3C%2Fbody%3E%3C%2Fhtml%3E
dst : <html><head><title>タイトル</title></head><body>日本語</body></html>
PlugProxy
実際に流れているHTTPのデータ解析をするのにはパケットキャプチャをすればいいのだが、これを簡単にするためのツールがある。PlugProxyがそれだ。
Javaアプリケーションなので、Javaが動作しない環境では、JDKダウンロードページなどから、JRE 5.0 Update 4 か JDK 5.0 Update 4 をダウンロードしてインストールしておこう。
PlugProxyは、http://www.bbzzdd.com/plugproxy/からダウンロードできる。ダウンロードしたら、アーカイブファイルを展開して、好きなディレクトリへおけばいい。
使い方は簡単だ。Windowsならplugproxy-gui.bat をエクスプローラからダブルクリックすればPlugProxyが起動する。画面にはhost、Remote Port、Local Port を指定できるようになっている。どんな値を指定すれば良いかについては、次のリストを参考にしてもらいたい。
- host :接続するマシン名 例)www.sssg.org
- Remote Port :接続するポート番号 例)80
- Local Port :プロキシのポート番号 例)18080
こうして値を指定したら[start]をクリックしよう。するとプロキシーが起動するので、http://www.sssg.org:80/ へアクセスしたい場合は、http://192.168.1.20:18080/のようにブラウザのロケーションバーへ入力する。192.168.1.20はPlugProxyが起動しているマシンのIPアドレスだ。同一マシンで作業をしているなら192.168.1.20の代わりにlocalhostでもいい。
すると、http://www.sssg.org:80/ へアクセスしたときに発生するリクエストデータとレスポンスデータがPlugProxyの画面へ表示される。PlugProxyを使うことによって、次のようなデータ転送がされるのだ。
Webブラウザ <—> 192.168.1.20:18080 <—> www.sssg.org:80
こういうツールはWebアプリやWebブラウザの開発時に重宝するだろう。
Wiki
AjaxTag
AjaxTagsというタグライブラリがあるようだ。
Findbugs eclipse plugin
tobjectでFindbugsのEclipseプラグインが開発されているらしい。
VEP editor of Eclipse
VEPも知らない間にいろいろと情報がでているようです。 … Eclipse Visual Editor Projectで、GUIを作成。