1

だから私はデータベースに接続しようとしており(サーバーの所有者はセットアップ作業を外部委託しており、それについての詳細は知りません)、ユーザー名とパスワードを持っています。最も基本的な方法でcurlに接続しようとすると、拒否されます。

curl --user "ユーザー名:パスワード" http://test.com

--digest フラグを追加すると、機能します。したがって、動作中の curl リクエストは次のようになります。

curl --digest --user "ユーザー名:パスワード" http://test.com

ここでの問題は、これを Java でコーディングする必要があり、 --digest フラグが何をしているのかを本当に理解していないことです。私はダイジェスト認証とアルゴリズムについて知っていますが、それは私が実装したくないものであり、私も必要だとは思わないものです (curl にはこれに対する簡単なフラグがあるという事実に基づいて、Java で同様の回避策があると予想しています) )。これを行う簡単な方法を知っている人はいますか?これを行うために設定できるヘッダーはありますか?基本的に、Java の curl に相当するものから --digest フラグを知りたいです。ありがとう。

4

2 に答える 2

0

Apache HttpClientライブラリはさまざまな認証スキームをサポートしていますが、 --digest フラグを設定するほど簡単ではありません。

ここで関連ドキュメントを見てください: http://hc.apache.org/httpcomponents-client-ga/tutorial/html/authentication.html

プリエンプティブ ダイジェスト認証の具体例: http://hc.apache.org/httpcomponents-client-ga/httpclient/examples/org/apache/http/examples/client/ClientPreemptiveDigestAuthentication.java

于 2013-03-06T19:06:03.000 に答える
0

これがデータベースとどう関係するのかはわかりませんが、 --digest はダイジェスト認証を有効にします。それがなければ、基本認証を使用しています。

http://curl.haxx.se/docs/manpage.html#--digest

これらの両方が何を意味するかについての正規の参照は次のとおりです。もう少し読者に優しいものを見つけられるかどうかを確認し、見つけた場合は追加します。

https://www.rfc-editor.org/rfc/rfc2617

これは少し簡単に思えます...まあ... --digest :)

http://frontier.userland.com/stories/storyReader$2159

また、Java から http リクエストを実行するための Apache HTTP クライアントもお勧めしますが、質問のイントロから、それが実際にやりたいことである場合、データベースについて言及している場所がわかりません。

于 2013-03-06T19:10:02.507 に答える