問題タブ [httpurlconnection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - StringBufferはストリーム全体を文字列に読み込みません(JAVA / Android)
HttpURLConnectionを使用してWebページのコンテンツを取得するAndroidプログラムを作成しています。私はJavaとAndroidの両方に不慣れです。
問題は次のとおりです。リーダーはページソース全体を読み取りますが、最後の反復では、最後の部分のstringBufferに追加されません。
debbugerを使用して、最後のループ反復で文字列バフが作成されることを確認しましたが、stringBufferはそれを追加しません。
取得したコンテンツを解析する必要があります。文字列を使用するよりも、解析のためにコンテンツを処理するためのより良い方法はありますか?Javaの文字列サイズは、使用可能なヒープサイズによってのみ制限されることを他の多くのサイトで読んだことがあります。私もStringBuilderを試してみました。
何が問題になるのかは誰でも知っています。ところで、コードの改善を提案してください。
ありがとう!
java - C# (VS2008) を使用した WebRequest は完全に機能しますが、Java (Ecplise) では機能しません。
Web ページからデータを読み込もうとしていますが、Java を使用する必要があります。Java を使用して Eclipse で実行しようとすると、タイムアウト エラーが発生します: java.net.ConnectException: Connection timed out: connect (Using HttpURLConnection):
どこに問題があるのかを理解するために、c# と VS2008 を使用して同じタスクを実行しようとしましたが、完全に正常に動作し、タイムアウトはまったくありませんでした。
私は仕事からこれを行っているので、ファイアウォールがありますが、それに関する情報はありません。
この理由は何ですか?
ありがとう!ダニエル
java - Javaでの接続タイムアウト?
HttpURLConnection
完了する前にタイムアウトが発生した場合にイベントを発生させる方法はありますか?
java - Java の HttpURLConnection での異常な接続タイムアウト
私のアプリケーションの 1 つで、HttpURLConnection を使用して別のサーバーにヒットしました。アプリケーションは数か月間問題なく動作していましたが、突然すべてのヒットが接続タイムアウトに直面しています。断続的に、いくつかの呼び出し (500 回に 1 回) が成功し、他の呼び出しはすべて失敗します。アプリケーションは、Tomcat 5.5 を使用して Java 5 で実行されている Linux にデプロイされます。コマンドラインからcurlとwgetを試してみましたが、うまくいきました。
まったく同じコード ベースを使用する別の Java プロセスは、コマンド ラインから接続できます。Tomcat サーバーとマシンを再起動しましたが、役に立ちませんでした。マシンを徹底的にチェックしましたが、これを妨げるブロック プロセス/ファイアウォールはありません (他の Java プロセスが接続できることは明らかです)。
断続的なバースト (1 日 1 回など) では、アプリケーションはいくつかの接続を確立でき、その後、壊れた状態に戻ります。スタック トレースからも明らかなことはあまりありません。
うまくいかない可能性のある提案はありますか?
[更新] アプリケーションの実行中にサーバーの DNS が変更された場合、Java はこれを検出せず、古い IP からの接続がタイムアウトになります (IP がダウンしていると見なされます)。したがって、CDN の場合、ノードがダウンして別の IP に置き換えられると、問題が発生する可能性があります。
java - HttpURLConnectionがロックされる
HttpUrlConnectionを作成し、BufferedInputStreamを介して読み取るTomcatで実行されているスレッドがあります。
一部のURLのデータをフェッチした後、停止します。HttpUrlConnectionがロックされ、BufferedInputStreamもロックされているというプロセスのjstackを取得しました。
誰かがここで助けてもらえますか。ありがとう
java - ループ内の HttpURLConnection
存在することはわかっているが、それがいつかはわからない 1 つの URL に接続しようとしています。このサーバーにアクセスできないため、イベントを受信するために何も変更できません。
実際のコードはこれです。
Java は私の最高のスキルではありません。このコードがパフォーマンスの観点から優れているかどうかはわかりません。3 秒ごとに新しい接続を開いていますか? または接続が再利用されますか?
disconnect() を呼び出すと、ループ内で新しい接続が開かれていないことを確認できますが、パフォーマンスに影響しますか?.
提案?URL が存在することを知るための迅速で最良の方法は何ですか?
java - HttpURLConnection が応答全体を読み取らない
HttpURLConnection を使用して HTTP POST を実行していますが、常に完全な応答が得られるとは限りません。問題をデバッグしたかったのですが、各行をステップ実行するとうまくいきました。タイミングの問題に違いないと思ったので、Thread.sleep を追加したところ、実際にコードが機能するようになりましたが、これは一時的な回避策にすぎません。なぜこれが起こっているのか、そしてどのように解決するのか疑問に思っています。これが私のコードです:
後で入力ストリームを読み取るために次のことを行います
次の HTTP ヘッダーを生成します。
他の投稿では、を使用してキープアライブをオフにすることが提案されていました
システムプロパティ、それを試してみたところ、ヘッダーが次のように変更されました
Connection ヘッダーは「close」ですが、まだ応答全体を読み取ることができません。私は何を間違っているのですか?
java - POSTがHttpURLConnectionのフォームで機能しないようです
Javaを使用してレポートシステムにログインしようとしています。これまで、HttpURLConnectionを使用したさまざまな実装を試しました。私が投稿しようとしているHTMLは、要約すると次のようになります。
ブラウザで[送信]をクリックすると、レポートシステムにログインするため、このフォームが有効な入力を提供することはわかっています。ただし、プログラムによるリクエストを送信すると、応答として上記のhtmlが常に返されます。HttpURLRequestを使用した約100万の実装を試したことに注意してください。一例:
'parameters'は、何もないものから、投稿したHTMLのすべてのURLエンコードされたパラメーターまでの範囲であり、接続は(現在、他の構成を試したように)次のように設定されています。
詳細が少しまばらであることを知っているので、さらに情報が必要な場合はお知らせください。ご入力いただきありがとうございます。
java - JavaアプリケーションからXMLを送信し、HTTP POSTを使用してサーバー上のPHPで印刷するにはどうすればよいですか?
通常、POSTデータを取得すると、HTMLフォームから送信され、パラメーターに名前が付けられます。つまり、から<input type="text" name="yourname" />
、このデータを受信してphpで出力できますecho $_POST['yourname'];
。
現在、XML形式のデータを指定されたURLにPOSTするJavaアプリケーションを実装しています。データのPOSTを試みることができる簡単なPHPページを作成しましたが、データが印刷されません。また、パラメータの名前がないため、PHPでどのように出力するかわかりません。
単純なXMLをサーバーに送信しようとしましたが、サーバーはで応答するはずMESSAGE: <XML>
ですが、応答は。でのみMESSAGE:
です。私は何が間違っているのですか?
これがサーバー上の私のPHPコードです:
そして、これがクライアント上の私のJavaコードです。
java - httpurlconnectionスレッドセーフ
HttpUrlConnectionスレッドは安全ですか?つまり、サーバーにHttpConnectionインスタンスが接続されていて、このインスタンスが異なるスレッドで使用されている場合(たとえば、POSTを同時に送信しようとする場合)、この状況はHttpUrlConnectionによってどのように処理されますか?a)POSTをシリアルに送信しますか、またはb)最初のスレッドがPOSTを送信し、応答を取得してから、2番目のスレッドがPOSTを送信しますか?POSTをシリアルに送信する場合、これは、同じtcp接続への複数のアクティブなPOSTを意味します。これは許可されていますか?サーバーで処理できますか?
ありがとう