2017-06-13 8 views
0

私はCloudantでリクエストhttpを実行しようとしていますが、 "Unauthorized"を受け取っています。シンプルなHTTP GET Unauthorized 401 - Bluemix Cloudant - Java Desktop

HttpsURLConnection conn; 
URL url = new URL(MyURL+"/_all_dbs");  
conn = (HttpsURLConnection) url.openConnection(); 
conn.setRequestMethod("GET"); 
conn.connect(); 

奇妙なことに、これは端末のカールでこれが機能することです! Like:

curl 'MyURL/_all_dbs' -X GET 

これは問題なく機能します。私のデータベースのリストを受け取っています。しかし、Javaコードでは、私は401エラーを受け取っていません。また、Cloudant-Clientライブラリを使用することはできません。なぜなら、他の問題が発生しており、HTTP要求のみで済む他のアプリケーションに役立つため、これはHTTPで動作する必要があるからです。

+1

URLに認証情報を含めないでください。 'https:// $ ACCOUNT:$ PASSWORD @ $ ACCOUNT.cloudant.com/_all_dbs'。リクエストに基本認証ヘッダーを追加する方法の例については、https://stackoverflow.com/questions/7019997/preemptive-basic-auth-with-httpurlconnectionを参照してください。 – ptitzler

+0

ありがとう!これは動作します! – Augusto

答えて

0

HTTP 401の不正なクライアントエラーステータスレスポンスコードは、ターゲットリソースに有効な認証資格情報がないためにリクエストが適用されなかったことを示します。 javaコードを使用してterminalコマンドを実行できます。

関連する問題