問題タブ [java-http-client]

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.

0 投票する
2 に答える
1855 参照

basic-authentication - Java 11 HTTP クライアントを使用してプリエンプティブ認証を行うには?

基本認証を使用して、認証済みサービスに対して Java 11 HTTP クライアントを使用しようとしています。認証は正常に行われますが、認証データを送信する必要があることを理解するために、サーバーへの追加のラウンドトリップが行われます。

ドキュメントとコードを検索しましたが、ある時点で内部的に何らかのキャッシュを使用していますが、キャッシュ値を設定できません。

ここに私のクライアントコードがあります:

私が期待していたのは、サーバーが要求したときだけでなく、認証データをプリエンプティブに送信するようにクライアントに伝えることができるということでした。

0 投票する
1 に答える
3127 参照

java - java.net.http (Java 11) リクエスト BodyPublisher をテストするには?

新しい Java 11 を使用するコードをテストしようとしていますjava.net.http.HttpClient

私のプロダクションコードには、次のようなものがあります。

そして、私のテストでは、 をモックしてHttpClientを取得しjava.net.http.HttpRequestます。リクエストボディ (= my ) を取得/テストするにはどうすればよい"example"ですか? 電話request.bodyPublisher()して を取得できますHttpRequest.BodyPublisherが、行き詰まります。

  • キャストしようとしましたがjdk.internal.net.http.RequestPublishers.ByteArrayPublisher(実際にはそうです)、対応するパッケージがモジュールによってエクスポートされていないため、コンパイルされません。
  • HttpRequest.BodyPublisher-interface ( .contentLength(), )で使用可能なメソッドを確認しましたが、.subscribe(subscriber)それらでは不可能だと思います。
  • 新しいものを作成しBodyPublisherて を使用して比較しようとしまし.equals()たが、実際の実装がないため、比較は常に false でした。
0 投票する
4 に答える
891 参照

java - openJdk 11 java.net.http.HttpClient ロギングを無効にするには?

私はopenJDK 11のhttpclientを使用していますが、これには迷惑な繰り返しログが付属しています。

これがどのように見えるかです(私はスプリングブートベースのアプリを使用しています):

次のエントリをlogback-spring.xmlに追加して無効にしようとしましたが、役に立ちませんでした:

ご協力いただきありがとうございます

0 投票する
0 に答える
160 参照

java - Java 11 HttpClient は React 開発サーバーを呼び出せません

Java 11 の newはの React 開発サーバー ( 経由で起動)HttpClientでは動作しません。クライアントは、エラーなしで無期限にハングします。create-react-appnpm start

他の URLhttps://google.comや他のローカル サーバーで動作します。

  • Node.js サーバー。たとえば、http-server(npm install http-server -g)
  • Python サーバー ( python3 -m http.server 3000)

React開発サーバーでこれが起こる理由は何ですか?

状態を再現するには:

  • 経由で反応アプリを作成しますnpx create-react-app my-app(必要なのはNode.jsだけでnpx、その一部です)
  • それを実行しcd my-appますnpm start。開発サーバーは次の場所で起動しますhttp://localhost:3000/
  • 次に Java コンソールを開きます。jshell

jShellReact 開発サーバーが動作している間に、次のコードを開き、コピーして貼り付けます。

その後、無期限にハングアップします。

-Djdk.internal.httpclient.debug=trueパラメーターを使用してログを表示するために Java アプリからこれを試すと、ログは次のようになります。