2

このJsoupコードを使用して Web URL を解析しようとしています。

Document doc = Jsoup.connect("http://www.*url*.com").get();
String title = doc.title();
System.out.println("title: "+title);

私はいつも以下のエラーを受け取ります

Exception in thread "main" java.io.IOException: 403 error loading URL http://www.*url*.com
    at org.jsoup.helper.HttpConnection$Response.execute(HttpConnection.java:327)
    at org.jsoup.helper.HttpConnection.execute(HttpConnection.java:130)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:119)
    at HttpRequestPoster.main(HttpRequestPoster.java:151)

私のコンピュータは、kerio winroute ファイアウォールによって制御されるネットワークのメンバーです。インターネットに接続する前に、Web ブラウザーからファイアウォールに接続します。理由はこれに違いない。URLを解析するにはどうすればよいですか?

4

2 に答える 2

2

ユーザーエージェントの設定はうまくいきました。

Document document = Jsoup.connect(url).header("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2").get();
于 2011-01-03T00:01:51.740 に答える
1

HTTP エラー 403は単にForbidden.

サーバーは要求を理解しましたが、要求を満たすことを拒否しています。

つまり、サーバー側は、要求固有の情報に基づいて、要求元が応答を受信できないと判断しました。これには多くの原因が考えられます: 特定の情報がリクエスト ヘッダーにない、IP アドレスが許可されていない、ユーザー エージェントが許可されていないなどです。

あなたの最も正直な賭けは、問題のウェブサイトの管理者に連絡して、説明と許可を求めることです. また、実際の Web ブラウザーを使用して、Firebug や Fiddler2 などの HTTP トラフィック トラッカーを使用して追跡し、要求/応答の詳細を確認することもできます。Jsoup のHttpConnectionクラスは、少なくとも、必要に応じてヘッダー、Cookie、および/またはユーザー エージェントを設定するためのいくつかのメソッドを提供します。

于 2011-01-03T00:06:41.947 に答える