問題タブ [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 を使用した Web サーバーの http リクエスト/レスポンスのフロー
Java で HTTP 要求を受け入れて HTTP 応答を返す小さな Web サーバーを作成しようとしています。私はApache HttpCoreを使用しています。具体的にHttpServerConnection
は、Webサーバーのフローで使用するメインインターフェイスとして見ています。
しかし、オンラインで使用例を見つけることができませんでした。メソッドがあることはわかりますが、receiveRequestHeader
いつ使用できるかわかりません (最初に接続を確立する必要がありますか? 作成中に接続が確立されますか? このメソッドはブロックされますか?)。
このクラスの短い使用例を提供できますか (私が使用している実装は ですDefaultHttpServerConnection
)、または別の方法論を提案できますか?
java - ApacheHttpComponentsHttpClientタイムアウト
httpcomponents httpclientで接続タイムアウトを設定するにはどうすればよいですか?http://hc.apache.org/httpcomponents-client-ga/tutorial/html/connmgmt.htmlでドキュメントを見つけましたが、これらのパラメーターが実際にどのように設定されているかは明確ではありません。
SO_TIMEOUT
また、との違いの説明CONNECTION_TIMEOUT
も参考になります。
java - リクエストから投稿データを取得する
HttpCore ライブラリを使用して Java でサーバー側アプリを作成しています。HttpRequest があり、フォームから postdata を送信しようとしています。問題は、使用するrequest.getEntity()
とnullオブジェクトが返されることです。HTTPFoxを調べて、送信しているリクエストの種類を確認すると、投稿データが明らかにそこにあります。
私は何を間違っていますか?
java - Java での Cookie の作成とロード
私は Java で小さな Web サーバーを作成しておりHttpCore
、ほとんどの Http 要求/応答などに使用しています。
今は、Cookie を作成、保存、およびロードできるようにしたいと考えています。私は何も見つけることができずHttpCore
、他のライブラリに精通していません。Cookie を処理するための既存のライブラリ (できれば実際の例を含む) はありますか?
編集:Cookieの使用に関して少し混乱していたようです。それがどのように機能するのか完全にはわかりませんが、セッションを維持し、Web サーバーからセッション変数にアクセスしたいと考えています。これどうやってするの?ブラウザが Cookie を保存する場合、それらはサーバーに送信されますか? それらにアクセスするにはどうすればよいですか?
java - Apache httpcomponents を使用して NHttpRequestHandler 内からリモート IP アドレスを伝えるにはどうすればよいですか?
Apache httpcomponents を使用して、コメット スタイル (遅延応答) の http サーバーを実装しています。私のコードは、 http://hc.apache.org/httpcomponents-core-ga/examples.htmlの「基本的なノンブロッキング HTTP サーバー」の例と非常によく似ています。
コード例と同様に、DefaultServerIOEventDispatch と DefaultListeningIOReactor を使用してリクエストをディスパッチします。NHttpRequestHandler 内で、各リクエストの IP アドレスをログに記録したいと思います。
HttpRequestHandler 内では、HttpRequest、HttpResponse、および HttpContext にアクセスできます。NHttpRequestHandler には、NHttpResponseTrigger もあります。リクエストの送信元のリモート IP アドレスを取得するにはどうすればよいですか? 利用可能なオブジェクトでこれを行う方法がわかりません。
Update、これが私が最終的に使用したScalaコードです:
ご覧のとおり、HttpComponents 4.1 には追加の手順があります。
java - Apache httpcore NIO で半分処理されたリクエストのソケットタイムアウトを変更するにはどうすればよいですか?
通常のリクエストとロング ポーリング リクエスト ("comet") を処理する Apache HttpComponents に基づくアプリケーションがあるとします。NHttpRequestHandler を使用すると、一部のリクエストの応答を遅らせ、他のリクエストの応答をすぐに送信できます。
しかし、通常のリクエストのソケット タイムアウトを短くし、長いポーリング リクエストのソケット タイムアウトを長くするにはどうすればよいでしょうか。場合によっては、処理を開始しないと 2 つのタイプの要求の違いを見分けるのが難しい場合があります。テストの結果、 setParams() を使用してリクエスト オブジェクトに新しいタイムアウトを設定しても、タイムアウトには影響しないようです。応答オブジェクトについても同じです。
java - apache httpcomponent と sftp プロトコル - プロトコルは使用できますか?
私はちょうど疑問に思っています...マルチパートでファイルをアップロードするためにhttpcomponent apache libでsftpプロトコルを使用する方法はありますか?
チュートリアルが見つからなかったので、その方向でいくつかのコードスニペットを共有していただければ幸いです...
有益なコメントをお待ちしております
java - HTTP コンポーネントのエンコーディングの問題
HTTP コンポーネント (http 用の Java ライブラリ) を使用すると、取得した応答が'
として表示されÆ
、として-
表示されȗ
ます。
java - http応答処理またはテキスト操作中に文字化けする「Endash」
ウィキペディアのテキストを処理するコードを書いていますが、ダッシュが文字化けする問題があります。私はこれまでダッシュやその他の非標準の文字を使用したことがないので(キーボードに表示されない文字である私にとっては非標準です;)、自分が何であるかをどこに向ければよいかわかりません。間違ったこと。これが、コードスニペットとともに何が起こっているかです。
記事の内容についてウィキペディア(ウィキペディアとの通信にApache HttpComponentsクライアントAPIを使用しています)にリクエストを送信し、文字列に保存します。
この時点で、「responseBody」をSystem.outに送信すると、ダッシュがEclipseコンソールに「?」として表示されます。これはEclipseコンソールの表示の問題である可能性があるため、次に進みます。
ダッシュを無視してテキストを操作し、テキストをWikipediaに送り返します。
ウィキペディアにアップロードされたテキストがWebブラウザーに表示されると、以前はダッシュで表示されていたものが「?」として表示されるようになりました。ボックス内(不明な文字?)。したがって、どこかで誤ってダッシュを変更したり、誤ってコーディングしたりしていますが、正確な場所はわかりません。
誰かが私を正しい方向に向けることができますか?
java - ThreadSafeClientConnManagerを使用する接続の応答からチャンクフッターを取得するにはどうすればよいですか?
ThreadSafeClientConnManager(Apache httpcomponents 4.1.1)によって作成された接続を使用しています。response.getEntity()。isChunked()によって決定されるように、応答はチャンク化されます(これは私が期待しています)。
ただし、フッター/トレーラー(アプリケーションに必要)を取得する方法はありません。応答がチャンク化されているため、エンティティの内容はChunkedInputStreamタイプであると予想されますが、クライアントが使用するデフォルトのリクエストディレクタークラスとエグゼキュータークラスは、元の応答エンティティをラップします(httpcomponentsソースを見るとChunkedInputStreamでした)。 BasicManagedEntity内。
つまり、BasicManagedEntityは基になるエンティティを使用できるようにしないため、応答からフッター/トレーラーを削除できなくなりました。誰かがこれを回避する方法を知っていますか?
参考までに、以下を参照してください。
- org.apache.http.impl.client.DefaultRequestDirector.java、行523-525
- org.apache.http.impl.entity.EntityDeserializer.java、93〜96行目