2016-12-02 5 views
1

私は石鹸のエンドポイント、ユーザー、パスワードを持っています。
ユーザー= "組織API/uAPI529457959-e784379"
パスワード= "T61/B = 09 {V"URLにユーザーとパスワードを渡している間に基本認証を使用できません

HttpClientを輸入

import org.apache.commons.codec.binary.Base64; 
import org.apache.commons.httpclient.HttpClient; 
import org.apache.commons.httpclient.MultiThreadedHttpConnectionManager; 
import org.apache.commons.httpclient.methods.PostMethod; 
import org.apache.commons.httpclient.methods.StringRequestEntity; 
import org.apache.commons.httpclient.params.HttpConnectionManagerParams; 

は私が要求ヘッダーの基本認証を使用

String userPassword = user + ":" + password; 
setRequestHeader("Authorization", "Basic " + new String(Base64.encodeBase64(userPassword.getBytes()))); 

正常に動作しています。

しかし、私はエンドポントのURLのようにユーザーとパスワードを渡そうとしました。 http://user:[email protected]

以下のログを提供しています。

2016年12月2日12時51分44秒PM org.apache.commons.httpclient.auth.AuthChallengeProcessor selectAuthScheme INFO:12月2日、 2016を選択した基本的な認証スキーム12時51分44秒PM org.apache .commons.httpclient.HttpMethodDirector processWWWAuthChallenge情報:BASIC 「AXIS'@example.comに利用可能な資格情報:443

私は、URLに渡す前に、ユーザーとパスワードをエンコードされません。私はこれを解決する方法を手がかりにしていません。誰か助けて喜んでください。

答えて

0

あなたは、ApacheのHttpClientを使用しているので、あなたは、より良い、このようにそれを行う必要があります。

CredentialsProvider provider = new BasicCredentialsProvider(); 
UsernamePasswordCredentials credentials = new UsernamePasswordCredentials("username", "userpass"); 
provider.setCredentials(AuthScope.ANY, credentials); 
HttpClient client = HttpClientBuilder.create().setDefaultCredentialsProvider(provider).build(); 

HttpResponse response = client.execute(new HttpGet("http://domain.com")); 

チェックこの偉大な例:HttpClient Basic Authentication

+0

それは私のユースケースのヘルプすることができますが、私はのために特に探していました** http:// user:[email protected]** – shubham12511

+0

@ sbmc7のように打つと、​​この場合はHttpURLConnection – dit

関連する問題