• ベストアンサー

URLを指定して、ソース文字列を取得したい

String getSourceText( URL url ) メソッドの実装方法を教えてください。 仕様は単純で、URLからそのページのソースを文字列で取得するものです。 例えば、  String s = getSourceText( new URL("http://www.google.co.jp/") ); とすると、s =  <html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8">  <title>Google</title><style>body,td,a,p,.h{font-family ...... としたいのです。

質問者が選んだベストアンサー

  • ベストアンサー
noname#49428
noname#49428
回答No.2

public static String getSourceText(URL url) throws IOException { InputStream in = url.openStream(); StringBuilder sb = new StringBuilder(); try { BufferedReader bf = new BufferedReader(new InputStreamReader(in)); String s; while ((s=bf.readLine())!=null) { sb.append(s); } } finally { in.close(); } return sb.toString(); }

HarukaV49
質問者

お礼

正に欲していた内容です。 ご回答ありがとうございました。 今後ともよろしくお願いいたします。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.1

HTTPクライアントで行くってのは駄目ですかな? http://x68000.q-e-d.net/~68user/net/java-http-url-connection-1.html レスポンスヘッダが色々と表示されているようだけど,ボディがほしいだけならそこ以外を表示しないだけで良い訳で #俺,何か勘違いしてますかね?

HarukaV49
質問者

お礼

別の方の回答で、解決してしまったのでリンク先の内容はまだ理解できていない状態なのですが、 時間をかけて理解して行こうと思います。 ご回答ありがとうございました。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • HTMLのソースで「↑」になっているのは?

    ソースを見たときに、以下のように↑で区切って表示されることがあります。 <html lang="ja">↑<head>↑<meta http-equiv="Content-Type" content="text/html; charset=utf-8">↑<title> 【質問1】これは、(1)わざと↑が入るようにしているのですか? それとも(2)勝手に↑で区切られてしまうのですか? 【質問2】このようなソースを、以下のような↑なしのソースに変換する方法ってあるのですか? <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>

  • 文字コード

    HPを作る際は <meta http-equiv="content-type" content="text/html;charset=shift_jis"> と <meta http-equiv="content-type" content="text/html;charset=utf-8"> のどちらにすればいいのでしょうか?

    • ベストアンサー
    • HTML
  • 文字化けを解決したい

    サイトを持つ管理人です。タグなどについてはかなり初心者です。 iPhoneなどの海外OSから閲覧すると文字化けしてしまうという報告を受けて、タグを色々いじっています。 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を追加してみたのですが、これ単品だと私のPCから閲覧したときに文字化けしてしまいました。 そのため<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">と<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">を並べてみたのですが、これで海外OSからも文字化けを起こさなくなったのでしょうか? こんな感じのタグです↓ <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <META NAME="GOOGLEBOT" CONTENT="NOINDEX, NOFOLLOW,NOARCHIVE"> <META NAME="ROBOTS" CONTENT="NOARCHIVE,NOINDEX,NOFOLLOW"> <meta name="viewport" content="width=380, maximum-scale=1.6" /> <title>練習</title> </head> 全てのスマホからもサイトを閲覧出来るようにするにはどうしたら良いでしょうか?それとも、全てのスマホから文字化けを防ぐことは不可能なのでしょうか? お知恵をお貸しください。

  • font-familyで書式が指定しても変化しない

    cssでfont-familyを指定しているのですが、 デフォルト書式のまま変化しません。 原因が分からないのですが、可能性として どんなことが考えられますか? ちなみにエディタはTeraPadです。 html <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <meta http-equiv="content-style-type" content="text/css; charset=utf-8" /> <link href="css/base.css" rel="stylesheet" type="text/css"> <head> <body> <p>テスト</p> </body> </head> css p{ font-family:MS明朝; }

    • ベストアンサー
    • CSS
  • フォントの指定ができない。

    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> をいれると、フォントの指定ができないです。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html lang="ja"> <head> </head> <body> <a href="http://www.yahoo.co.jp/" style="color:red;text-decoration:none"> <div STYLE="font-size:800%;font-family:HGP創英角ポップ体;">test</div></a> </body> </html> とすると、リンクを付けて文字を大きくしてHGP創英角ポップ体で表示できるのですが <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> にすると、リンクを付けて文字を大きくまでは出来るのですが、フォント名が設定できません。 どうしてでしょうか? <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">をなくすしかないですか?

    • ベストアンサー
    • HTML
  • 表示すると文字化けします

    下記のファイルが表示されると文字化けしてエンコードを修正しないとみれませんなぜでしょうか? 日本語EUCになってしまします。 <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE></TITLE> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> </HEAD> <BODY> <TABLE border="1"> <TBODY> <TR> <TD bgcolor="#ffff00" width="699"><B><FONT size="+2">登録ありがとうございました</FONT></B></TD> </TR> <TR> <TD height="99" width="699"><B>■<A href="http*************************">使いこなすために</A>手順に沿って進んでください</B>→<A href="http**************************">次へ進む</A></TD> </TR> </TBODY> </TABLE> </BODY> </HTML>

    • ベストアンサー
    • HTML
  • Dreamweaverでソースが文字化けしてしまいました。

    Dreamweaverでソースが文字化けしてしまいました。 メタタグが <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> になってたので、 <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> に修正して、保存して終了したあとに、再度Dreamweaverで開いたところ、ソースが全部文字化けしてしまいました。 元に戻そうと、メタタグをもとのutf-8に戻しても直りません。 メタタグをShift_JISにして、ページプロパティのエンコーディングをShift_JISに合わせると、ソース全部が文字化けしていた状態は直ったんですが、ところどころ文字化け状態のままになっています。 完全にもとの状態に戻したいのですが、どうしたら文字化けが直るのでしょうか。 教えてください。 よろしくお願いします。

  • 別URLからのJSON取得がうまくいかないので教えてください

    楽天書籍検索APIをJSONで取得したいのですが、うまく表示されません。 以下のソースで何がまずいか教えていただけますでしょうか。 ※[YOUR_developerID]にはIDが入っているものとします <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <title>JSON</title> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.2.6");</script> <script type="text/javascript"> $(function(){ $.getJSON("http://api.rakuten.co.jp/rws/2.0/json?developerId=[YOUR_developerID]&operation=BooksTotalSearch&version=2009-03-26&keyword=%E3%82%AC%E3%83%B3%E3%83%80%E3%83%A0&sort=-releaseDate", function(jsonData){ $(jsonData.Body.BooksBookSearch.Items.Item).each(function(){ $("body").append(this.title+"<hr />"); }) }) }) </script> </head> <body>

  • CGIから移動したページでのリンク元URLの取得について

    CGIから移動したページでのリンク元URLの取得について CGIのHTML表示部を print<<End_of_Data; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Refresh" content="5;URL=http;//example.com/index.html" /> <title>認証OK</title> </head> <body>会員ページに移動します</body> </html> End_of_Data としています。 5秒後にリダイレクト先のexample.comに移動するようにしているのですが、 このリダイレクト先でリンク元を取得することができません。 リンク元URLを取得するにはどうしたらよろしでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • 文字化けについて

    <?php //文字化け $a = "あいうえお"; ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF8"> <title><?php echo $a;?></title> </head> </html> ========================================================== 宣言以前のマルチバイトに対する対策はどのようにしたら良いでしょうか?

    • 締切済み
    • PHP