問題タブ [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 - NTLMv2 HTTP 認証 Java
これがどのように機能するかについて、私は非常に混乱しています。私はこのようなものを使ってみました:
このメソッドによって 401 エラーが返されるので、明らかに要点がわかりません。このチャートによると、NTLMv2 は JRE 6 でサポートされるはずです。私の混乱は、これが Android で実行されているという事実にあります。によってスローされた例外のスタック トレースでgetOutputStream
、Apache の実装HttpURLConnection
が参照されていることがわかります。
私の調査でわかったことによると、ライセンスの問題により、Apache には NTLMv2 プロトコルを含めることができません。androidで動かないのはこれが原因?
いずれにせよ、これが Android だけでなく Java でどのように行われるかを知りたいです。
java - ソケット ConnectException: Connection time out の原因は何ですか?
を使用してHTTPS経由でシリアル化されたオブジェクトを送信することにより、サーバーと通信するWebstartクライアントがありますjava.net.HttpsURLConnection
。
私のローカルマシンとオフィスにあるテストサーバーではすべてが完全に正常に動作しますが、非常に奇妙な問題が発生しています。私が知っているこれらのサーバーと私たちのオフィスのサーバーの主な違いは、それらが別の場所にあり、クライアントとサーバー間の通信がかなり遅いということですが、これ以前の本番環境でも長い間問題なく動作していました.
とにかく、ここで何が起こっているのですか:
- クライアントは、読み取りタイムアウトなどのオプションや などのプロパティを設定した後、それを呼び出し
Content-Type
て、書き込み先のストリームを取得します。HttpURLConnection
getOutputStream()
- この時点で、私が知る限り、クライアントはしばらくハングします。
- その後、クライアントは次の例外をスローします。
これは ではないことに注意してください。これは、接続が確立される前にタイムアウトが発生した場合にonSocketTimeoutException
のconnect()
メソッドがスローすると言われています。HttpURLConnection
また、これが発生すると、電話をかけることができconn.getResponseCode()
、応答コード 200 が返されます。
- サーバー側では、のコンストラクターで
EOFException
がスローされObjectInputStream
、シリアライゼーション ヘッダーを読み取ろうとしますが、クライアントがOutputStream
に書き込むことができないため失敗します。
それが役立つ場合は、呼び出しのHttpsURLConnection
前に行われている呼び出しを次に示しますgetOutputStream()
(これを行うコードの構造全体ではなく、行われている呼び出しのみを表示するように編集されています)。
問題は、これがどのように発生するのか見当がつかないということです。特に、それがたまにしか発生せず(明確なアクティビティのパターンがわからない)、さらにクライアントとサーバ。
についてこれまでに発見できたことを考えるとjava.net.ConnectException: Connect timed out
、サーバーが実行されているネットワーク上のネットワークまたはファイアウォールの問題ではないかと思いました...しかし、リクエストが明らかにサーブレットに到達しています。また、同じネットワーク上で実行されている他のアプリでは、同様の問題は報告されていません。
これの原因が何であるか、または私が何を調査すべきかさえ誰かが考えていますか?
java - HttpURLConnection とブラウザ接続の違い
HttpURLConnection を介して Web ページに接続しようとしていますが、通常のブラウザー (firefox、chrome) と同じように応答しません。エラー 500 が発生します。
同じコードを使用して、「任意の」ページ (Google など) を取得できます。私のコードは以下に掲載されていますが、大丈夫だと確信しています。
「ライブ HTTP ヘッダー」Firefox アドオンを使用して、同じリクエストを送信し、有効な応答を受け取りました。
java - URLConnection が文字セットを取得しない
URL.openConnection()
サーバーから何かをダウンロードするために使用しています。サーバーは言う
しかし、connection.getContentEncoding()
戻りますnull
。どうした?
android - Android の HttpUrlConnection で InputStream が 0 を返す
をHttpUrlConnection
使用して Android アプリケーションで実行していURL
ます。はURL
ブラウザで応答を返していますが、以下のコードではInputStream
応答は0
です。なんで?
これが私のコードです:
json - JDK または HttpComponents のみで JSON 応答を処理することは可能ですか?
JSON 応答を返す Facebook の Graph API を使用するように Web アプリをアップグレードしています。ただし、他に選択肢がない限り、JSON ライブラリに依存関係を追加したくありません。サーバー側の http リクエストには、Apache HttpComponents を使用します。
したがって、私の質問は、JSON 応答を処理するために使用できる JDK および/または HttpComponents のクラス (存在する場合) は何ですか? コードスニペットは大歓迎です:)
android - Android は HttpURLConnection で GET リクエストを送信できません
アプリケーションで HttpURLConnection を使用しようとしています。リクエスト メソッドを 'GET' に設定しましたが、出力ストリームを取得しようとすると、メソッドが 'POST' に変更されました。それが理由かどうかはわかりませんが、「POST」を使用してリクエストを送信すると、JSON サーバー (JAX-RS を使用) が空白のページを返します。
ここに私のコードのスニペットがあります:
ご回答ありがとうございます。エリック
java - Google App Engine (Java): URL フェッチ応答が大きすぎる問題
Google アプリである種の Web サービスを構築しようとしています。
問題は、Web サイト (HTML スクレイピング) からデータを取得する必要があることです。
リクエストは次のようになります。
これで、App Engine は 3 行目に次の例外を表示します。
これは、リクエストの最大制限が 1 MB であり、ページからの HTML の合計が約 1.5 MB であるためです。
ここで私の質問: スクレイピングする必要があるのは、html の最初の 20 行だけです。ResponseTooLargeException がスローされないように、HTML の一部のみを取得する方法はありますか?
前もって感謝します!
android - Android: YouTube API からデータを取得しようとしています
http://gdata.youtube.com/feeds/api/standardfeeds/recently_featured?&start-index=1&max-results=15&v=2からデータを取得して動画のタイトルを出力しようとして いますが、例外が発生しますラインで
どうしたの?このデータを取得する他の方法はありますか?
私のコード:
編集:問題は解決しました。インターネット権限を追加するのを忘れていました!
java - JavaHttpURLConnectionサーバーから複数の応答を受信する方法
サーバーにサブスクライブするように求めるPOSTメッセージを使用してサーバーに接続しようとしています。その後、サーバーはhttp接続を開いたままにし、サブスクリプションのキャンセルまたは接続を自分で閉じるように要求するまで、ライブステータスの非同期メッセージを返送します。サーバーからのこれらの後続の応答を読み取るのに問題があります。以下のコードはサーバーに接続し、最初の応答を正常に読み取り、コンソールに出力します。問題は、その後、同じ応答(最初の応答)を無限に読み取り、画面に出力し続けることです。
誰かが私がここで台無しにしているものを見ますか?サーバーからの次の非同期メッセージを監視し、メッセージが届くまでブロックしようとしています。また、次のメッセージが非同期で表示されたときに通知を受け取るように登録する方法を誰かが知っている場合は、待機をブロックする必要がないので、さらに良いでしょう。