2017-03-01 28 views
0

私は企業のファイアウォールの背後にいますが、ブラウザ内でプロキシ設定を有効または無効にしてURLを貼り付けることができます。私はちょうどjavaの中にできません。403 JavaではURLは禁止されていますが、ブラウザでは禁止されています

アイデア?

コード:

private static String getURLToString(String strUrl) throws IOException { 
    // LOG.debug("Calling URL: [" + strUrl + "]"); 
    String content = ""; 

    URLConnection connection = new URL(strUrl).openConnection(); 
    connection.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.95 Safari/537.11"); 
    connection.connect(); 
    BufferedReader br = new BufferedReader(new InputStreamReader(connection.getInputStream(), Charset.forName("UTF-8"))); 

    String inputLine; 
    while ((inputLine = br.readLine()) != null) { 
     content += inputLine; 
    } 

    br.close(); 

    return content; 
} 

エラー:

java.io.FileNotFoundException: Response: '403: Forbidden' for url: '<url here>' 
    at weblogic.net.http.HttpURLConnection.getInputStream(HttpURLConnection.java:778) 
    at weblogic.net.http.SOAPHttpURLConnection.getInputStream(SOAPHttpURLConnection.java:37) 

注: '' 部分が匿名のためです。

+0

トラフィックをダンプするには、 'tcpdump'または' wireshark'を使用して差異を分析します。 –

答えて

1

「403:禁止」というエラーが表示されているため、JavaコードがURLにアクセスできますが、アクセスに必要なものがありません。

ブラウザで、F12(開発者/デバッグモード)を押してURLを再度要求します。送信されているヘッダーとCookieを確認します。ほとんどの場合、必要なコンテンツを受け取れるようにこれらのいずれかを追加する必要があります。

+0

私は手動でconnection.setRequestProperty()を介してそれらのすべてを追加し、同じエラーを受け取りました。 – qbolt

関連する問題