- ベストアンサー
javaから拒否されるページ
javaでWebページからソースをとってきたい のですが、javaからのアクセスは拒否されるらしいです。 どうしたら良いでしょうか? ソースをとってくるのは、URLクラスのopenStream メソッドを使っています。 お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こちらで試しに調査した結果、 IOExcepitionのエラーが見られませんでした。 調査ソース import java.net.URL; import java.net.URLConnection; import java.io.InputStream; import java.io.IOException; public class Test_main { public static void getUrl(String strUrl){ int nLabel = 0; try{ nLabel = 100; System.out.println(" targeturl "+strUrl); URL objURL = new URL(strUrl); nLabel = 200; URLConnection objURLCnn = objURL.openConnection(); nLabel = 300; InputStream inputStream = objURLCnn.getInputStream(); nLabel = 400; return; }catch(IOException ioe){ System.out.println(nLabel); ioe.printStackTrace(); } } public static void main(String[] args) { String strUrl = "http://blog.goo.ne.jp/index.php?fid=freshEntryRss"; // String strUrl = "http://www.yahoo.co.jp"; getUrl(strUrl); return; } } 存在しないURLを入力するとエラーが返ってきたが 目的のURL(http://blog.goo.ne.jp/index.php?fid=freshEntryRss)ではエラーがおきなかったので ほかに原因があると思います。 原因のソースの見て判定したいですね。
その他の回答 (1)
- davosuke
- ベストアンサー率61% (34/55)
openStreamは (1)URLConnection URL.openConnection(); (2)URLConnection.getInputStream(); の短縮メソッドなので、どちらから拒否されているか、確かめて下さい。 javaからのアクセスは拒否されるらしいです。 とありますが、IOExceptionが返ってくるのか、別のエラーなのかわからないのでどのような事象で拒否されるか明確に教えてください。 最後に、拒否されるページが明確にしてもらえるとありがたいです。特定のページでは必ずか、定期的に起こるのか 特定のページだったらURLも教えてください。
補足
ありがとうございます。 % java rss http://blog.goo.ne.jp/index.php?fid=freshEntryRss java.io.IOException: Server returned HTTP response code: 403 for URL: http://blog.goo.ne.jp/index.php?fid=freshEntryRss というのが帰ってきます。 読みたいのは、rssのソースファイルなのです。 お願いします。
お礼
ありがとうございます。