ホームページ  >  記事  >  Java  >  JAVA ダウンロードで getContentLength() が常に -1 になる理由に関するいくつかのアイデア

JAVA ダウンロードで getContentLength() が常に -1 になる理由に関するいくつかのアイデア

巴扎黑
巴扎黑オリジナル
2017-06-26 10:21:241872ブラウズ
ヘッダファイルにContent Lengthが記述されていない場合

まだ解決策はありません

Content Lengthがヘッダファイルに記述されている場合

オプション 1:

ブラウザとして偽装する

 conn.setRequestProperty("User-Agent", " Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36");
コードにプロキシを追加する

String host = "127.0.0.1";    
     String port = "8888";    
     setProxy(host, port);   
     public static void setProxy(String host, String port) {    
    System.setProperty("proxySet", "true");    
    System.setProperty("proxyHost", host);    
    System.setProperty("proxyPort", port);    
}

オプション 2:サーバーによる gzip 圧縮を防ぐための次の属性:

Java Doc には次の説明があります:

デフォルトでは、

のこの実装は -1 を返します。

以上がJAVA ダウンロードで getContentLength() が常に -1 になる理由に関するいくつかのアイデアの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。