• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:URLConnection Timeoutエラー)

URLConnection Timeoutエラー

このQ&Aのポイント
  • JavaのURLコネクションでのタイムアウトエラーについて調査中です
  • サーバ側の制限でない原因を突き止める必要があります。
  • 他のサーバのFlashは正常に取得できるため、問題は特定のFlashに関連しています。

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

  • ベストアンサー
  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.1

ブラウザから以外のアクセスを拒絶するサイトもありますし、またそんなサイトでもuser-agentを詐称すればjava.netで自作したプログラムでアクセス成功!の場合もあります。setConnectTimeout()は試されましたか?

mozori01
質問者

お礼

ご回答ありがとうございます。 サーバ側のuser-agentの制限を調べてみたのですが、特に規制していませんでした。 タイムアウトの設定は30秒~30分まで試したのですがいずれもNGです。 リクエスト時の、サーバログを見たのですが、リクエスト自体来ていないようです。 ブラウザからは正常にみれるため、原因がわからない状態です・・・。

その他の回答 (1)

  • _ranco_
  • ベストアンサー率58% (126/214)
回答No.2

> リクエスト自体来ていない そうすると、常識的にはクライアント側のバグですね。 以下の、もっともシンプルなプログラムを動かしてみてください。 (このプログラムでリソースの取得ができることは、確認済みです。) これでだめなら、サーバの不具合ってことになりますね。 当方、現時点ではどっちのコードも設定も見ていないので、一般的なことしか言えません。 ----------------------------------------------------- import java.io.*; import java.net.*; public class GetUrlResource{ static final int BUFF_SIZE = 4096; public static void main(String [] args){ byte[] buffer = new byte[BUFF_SIZE]; String urlStr = "http://xxx/sample.swf"; String localFile = "sample.swf"; try{ URL url = new URL(urlStr); InputStream is = url.openStream(); FileOutputStream os = new FileOutputStream(localFile); getResource(is, os, buffer, BUFF_SIZE); is.close(); os.close(); } catch (MalformedURLException me){ me.printStackTrace(); } catch (IOException ie){ ie.printStackTrace(); } } static void getResource(InputStream is, OutputStream os, byte[] buffer, int bufsiz) throws IOException{ int n; while ((n = is.read(buffer)) != -1){ os.write(buffer, 0, n); } } } ----------------------------------------------------

mozori01
質問者

お礼

ご回答ありがとうございます。 当方も上記に似たクラスで実装しており、 別のサーバのコンテンツは取得可でした。 そこで色々調べてみたところ、途中のゲートウェイで、 送信リクエストを制限設定していたようでした。 設定を解除し、無事動くことを確認しました。 お騒がせしました。