我在哪里可以找到Base64Encoder类?

6

你好,我在 StackOverflow 上看到了一个示例,其中包含以下代码:

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。有人能帮助我解决这个问题吗?

3个回答

6

实际上,在“JAXB”中有一个实际上是公共的,而不是在内部包中的东西。 - Voo
1
哦,但我喜欢懒惰,现在我必须找到确切类的链接和所有信息,但你是对的 - 这是好的信息,所以我会这样做。 - Voo

4

我认为您需要使用commons编解码器才能在HttpClient中使用Base64编码。以下是链接:Commons codec link


2

由于maerics的要求:

我认为自Java6以来,实际上有一个叫做DatatypeConverter的类,它是JAXB的一部分。

两个静态公共方法parseBase64BinaryprintBase64Binary可能会引起兴趣。还要注意它在java.lang中定义,因此它是JDK的官方部分。您可以使用它,但我个人更喜欢commons变体,因为解码base64内容时不返回字符串..


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接