問題タブ [apache-httpcomponents]
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 - ブラックベリーからのHttpCoreの使用
ブラックベリー8800で実行するためにAndroidアプリを移植しようとしています。クラスの1つは、apacheHttpCoreを介してhttpリクエストを作成します。
次のエラーが発生します。
タイプjava.lang.reflect.Typeは解決できません。必要な.classファイルから間接的に参照されます
ProjectFoo-BBerry / src / com / projectfoo / ws / rest / ProjectFooClient.java(1行目)
ブラックベリーに反射はありませんか?Eclipseで有効にする必要があるものはありますか?私はJavaで広範囲にプログラミングしていません。
java - httpclient で HttpEntity を文字列に変換する最もエレガントで正しい方法は何ですか?
Apache httpcomponents Java ライブラリを使用して Web ページを取得しています。結果を接続すると、を返すHttpEntity
メソッドがあり、OutputStream に書き込むメソッドもあります。getContent()
InputStream
writeTo()
情報を抽出するために、結果を文字列に変換したいと考えています。これを行うための最もエレガントな(そして安全な)方法は何ですか?
考えられる解決策:
- a に書き込み、
ByteArrayOutputStream
それらのバイトを String コンストラクターで String に変換します。 - InputStreamReader を使用してストリームから直接読み取り、StringBuilder に入れます
どちらもちょっとイマイチな感じ。これらのいずれかを選択することをお勧めしますか、それとも他のものを選択することをお勧めしますか?
java - Apache http コンポーネントを使用してダウンロードの進行状況を監視する
Apache のHttp コンポーネントを使用してダウンロードする大きなファイルがいくつかあるので、Web アプリの管理コンソールで進行状況の情報をユーザーに表示できるようにしたいと考えています。このライブラリを使用して進行中のダウンロードを監視する正しい方法は何ですか? 進行中のダウンロードを管理するシングルトンを作成します。必要なのは、開いている接続を調べて、いつでもどこにあるかを調べる方法です。
java - httpcore ライブラリを使用して get リクエストからエンティティ全体を取得する方法
Apache Http-core ライブラリを使用 していますが、httpResponse メッセージのエンティティに問題があります。複数の TCP パケットを含む Http 応答を受信すると、何らかの理由で最後のパケットが破棄されることがあるようです。この提案に使用されるクラスは次のとおりです。
メソッド sendGetMessage を使用すると、wireshark で次のコードを使用して、適切に受信されたすべてのパケットを確認できます。
常に受信されるとは限りませんが、エンティティ全体が想定どおりになっています。
java - Java でのダウンロードの処理
Java で HttpResponse を使用してダウンロードを処理するにはどうすればよいですか? 特定のサイトに HttpGet リクエストを送信しました。サイトはダウンロードするファイルを返します。このダウンロードを処理するにはどうすればよいですか? InputStream はそれを処理できないようです (または、間違った方法で使用している可能性があります)。
java - パイプライン化されたHttpにJavaNIOを使用する
Webを調べたところ、パイプラインHTTPは、キュー接続または並列接続よりもはるかに高速で電力効率が高いことがわかりました(特にモバイルデバイスの場合)。ただし、一般的なライブラリからのサポートはわずかです。つい最近、広く普及しているApacheHttpCoreプロジェクトがNIOモジュールを通じてサポートを獲得しました。
少なくとも、ウィキペディアとドキュメントのいくつかの場所でそう言っています。私の問題は、単純なパイプリクエストを送信するためにこれを使用する方法の例やチュートリアルを見つけることができなかったことです。HttpCore NIOドキュメントもGoogleコード検索も、Httpパイプラインのようなものを私に与えてくれませんでした。
このモジュールを使用して2つのgetをパイプに送信し、2つの回答に応答する方法の簡単な例を教えてください。
java - 無効な Content-Length がサーバーに送信されますか?
ここに記載されている方法を使用して、新しい API を介して人気のあるサービス Dailybooth に写真をアップロードしようとしています。
問題は、サーバーが次のように応答していることです。
このデータを送信するために使用しているコードは次のとおりです。
私は何が間違っているのか分かりません。
java - Apache HttpClient は、java.net.CookieHandler によって設定された Cookie を Request に追加しますか?
私の単純な Apache HttpClient (4.0.1) クライアント アプリケーションは、main() メソッドでサーバー URL に対して HttpGet 要求を行い、応答を出力します。起動時に、アプリケーションは java.net.CookieHandler の実装を静的ブロックに登録します。
サーバー側で受信した Cookie を確認したところ、HttpClient が GET 要求を行ったときに、サーバーが Cookie を受信していないことがわかりました。
一方、Apache HttpClient をプレーンな java.net.URL(HTTP_URL).openStream() に置き換えたところ、Cookie は Request で CookieHandler によって設定され、サーバーによって受信されました。
CookieHandler が Apache HttpClient で動作しないということですか?
コード:
クライアント.java
HttpClient の使用(リクエストに Cookie を配置しません)
java.net.URL を使用する(要求に応じて Cookie を設定する)
java - Androidで最新のHttpComponentsバージョンを使用するにはどうすればよいですか?
Androidに付属のHttpComponentsライブラリを使用していました。GETとPOSTを使用してパラメーターを送信し、サーバーからInputStreamまたはStringを受信するために、2つのクラスを作成しました。すべてが正常に機能していました。スレッドでのすべてのダウンロード、開始、一時停止、再開...しかし、今日、2つのダウンロードを同時に開始しましたが、いずれも終了していません。
私は解決策をグーグルで検索し、AndroidにはHttpCore4.0-beta2が付属していることを確認しました。はい、とても古いです。2008年7月1日にリリースされ、Androidはそれ以降更新していません...
クラスを書き直しましたが、現在HttpURLConnectionを使用しており、2つのファイルを同時にダウンロードできます。
OK、AndroidでHttpComponentsの使用を検討している場合は、警告でした。今私の質問。新しいバージョン4.1をプロジェクトにインポートしたいと思います。ビルドされたパスにjarを追加しましたが、新しい(4.1)パッケージと古い(beta2、4.0)パッケージが同じである場合、これらのjarをどのように使用できますか?
ありがとう。
解決済みThreadSafeClientConnManager
を使用してDefaultHttpCLinetを作成する必要があります。
更新:AndroidHttpClientを使用することもできます。このクラスでは、ThreadSafeClientConnManagerを使用する必要はありません。
java - HttpCore を使用したカスタム HTTP メソッドの実装
私はJavaが初めてで、Apache HttpCoreライブラリで何らかの方向性を望んでいます。
私は単純なサーバーを作成しましたが、いくつかのカスタム HTTP メソッドを実装したいと考えています。私はドキュメントを数回調べましたが、それを理解することができませんでした。
501 Not Implemented がHttpService.doService()で発生しているように見えますが、そのメソッドをオーバーライドしても機能しません。リクエスト ハンドラが呼び出されません。
どんな助けでも大歓迎です。
ありがとう。
これが私が持っているものの要点です:
応答:
メソッドが GET、POST などでない限り、リクエスト行は System.out に書き込まれません。
解決策: HttpRequestFactory を実装する必要がありました。例えば: