我在哪里可以找到Base64Encoder类?

时间:2012-01-06 17:23:09

标签: java screen-scraping

您好我在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 个答案:

答案 0 :(得分:6)

Java API一直缺少Base64 en / decoder,所以你必须找到一个好的第三方,例如Apache Commons CodeciHarder Base64

答案 1 :(得分:4)

我认为你需要让commons编解码器与HttpClient一起使用Base64编码。这是链接。 Commons codec link

答案 2 :(得分:2)

因为maerics要我:

因为我认为Java6实际上是DatatypeConverter类,它是JAXB的一部分。

应该感兴趣的是两个静态公共方法parseBase64BinaryprintBase64Binary。另请注意,它在java.lang中定义,因此它是JDK的官方部分。你可以使用它,但我个人更喜欢commons变种,因为它在解码base64时没有返回字符串..