2012-01-06 8 views
6

こんにちは、私はこのコードを持っていたのStackOverflow上の例を見ました:Base64Encoderクラスはどこにありますか?

String encoding = Base64Encoder.encode ("test1:test1"); 
HttpPost httppost = new HttpPost("http://host:post/test/login"); 
httppost.setHeader("Authorization", "Basic " + encoding); 

System.out.println("executing request " + httppost.getRequestLine()); 
HttpResponse response = httpclient.execute(httppost); 
HttpEntity entity = response.getEntity(); 

私はこれに似たタスクを持っています。私は同じコードを使用しようとしましたが、どこでもBase64Encoderクラスを見つけることができませんでした。私はhttpclient-4.1.2.jarとhttpcore-4.1.2.jarを使っています。誰かがこれで私を助けることができますか?

答えて

4

HttpClientでBase64エンコーディングを使用するには、コモンズコーデックが必要です。ここにリンクがあります。 Commons codec link

6

Base64エンコードは、Java APIには欠けているので、良いサードパーティ製のものを見つける必要があります。 Apache Commons Codec,iHarder Base64など

+0

実際にはパブリックで内部パッケージではない 'JAXB' 。 – Voo

+0

@Voo:その情報で回答を投稿してください! – maerics

+1

ああ、私は怠け者で、今は正確なクラスとすべてのリンクを見つけなければなりませんが、それは良い情報です。 – Voo

2

maericsはに私に尋ねたので:私はJava6のは、JAXBの一部であるDatatypeConverterクラスが実際にあると思いますので

2つの静的パブリックメソッドparseBase64BinaryprintBase64Binaryが重要です。また、それはjava.langで定義されているので、JDKの公式な部分です。あなたはそれを使うことができますが、個人的には、base64のものをデコードするときに文字列を返さないので、私はコモンズの変種が好きです。

関連する問題