Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

cgiのurlから元のurlを取得したい

あるサイトのリンク集がありまして、そのリンクが
http://www〜/xxx.cgi?xx=xx1"みたいになっています。
内部でurlを変換しているのですが、この変換後のurlを
javaで取得するにはどうすればいいのでしょうか?

4

回答

4368

閲覧

4件の回答

評価

0

その「内部でurlを変換」が具体的に何なのかが分からない
と、何とも言えん。
単にリダイレクトが返されるのであれば、httpリクエストを飛
ばしたレスポンスからlocationヘッダを取ればいい。
Javaというよりは、httpの話になるな。

評価

0

説明が悪くてすいません。
例えばAのサイトのUrlが
http://www.a.com
だとすると、
そのリンク集サイトのAのUrlはブラウザのソース表示を
見ると
http://www?aaa.cgi?dl=aa001
みたいになっています。

内部で変換と言うのは
http://www?aaa.cgi?dl=aa001
から
http://www.a.com
に変換してると言う意味です。

でぼくはの希望は
http://www?aaa.cgi?dl=aa001
から
http://www.a.com
のurlを取得したいと言う事です

調べたら
try {
            URL url = new URL(urlst);
            HttpURLConnection connection = null;
            try {
                connection = (HttpURLConnection) 
url.openConnection();
                
connection.setRequestMethod("GET");
                if (connection.getResponseCode() 
== HttpURLConnection.HTTP_OK) {
System.out.println(connection.toString());
                }
            } finally {
                if (connection != null) {
                    connection.disconnect();
                }
            }
        } catch (IOException e) {
            return "";
        }
上記コードを実行すると
connection.toString()の中に
http://www.a.com
がはいっていました。これでぼくの希望がかなったので
すが、
他にもっと簡単な方法はありませんか?

評価

0

追記ですが、上記コードだと
http://www?aaa.cgi?dl=aa001で
http://www.a.comが返ってくるサイトと

http://www.a.comではなく
http://www?aaa.cgi?dl=aa001
がそのまま返ってくるサイトがあります。
そもまま返ってくるサイトの本当のURLを取得するには
どうすればいいでしょうか?

評価

0

>他にもっと簡単な方法はありませんか?
そういう限られた目的を実現するのは、標準ライブラリで
はなく自前コードの仕事だ。

>そもまま返ってくるサイトの本当のURLを取得する
相手がデータを持ってないだけじゃないのか。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。