【问题标题】:Where can I find the Base64Encoder class?在哪里可以找到 Base64Encoder 类?
【发布时间】:2012-02-04 09:59:07
【问题描述】:

您好,我在 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。有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: java screen-scraping


    【解决方案1】:

    Java API 中一直缺少 Base64 en/decoder,因此您必须找到一个好的第 3 方,例如Apache Commons CodeciHarder Base64

    【讨论】:

    • 实际上JAXB 中有一个实际上是公开的,而不是在内部包中。
    • 哦,但我喜欢偷懒,现在我必须找到指向确切课程的链接等等,但你是对的 - 这是很好的信息,所以我会这样做。
    【解决方案2】:

    我认为您还需要公共编解码器才能将 Base64 编码与 HttpClient 一起使用。这是链接。 Commons codec link

    【讨论】:

      【解决方案3】:

      因为 maerics 要求我:

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-06
        • 1970-01-01
        • 2015-02-23
        • 2010-09-14
        • 1970-01-01
        • 2012-11-30
        • 2011-08-22
        • 2014-12-14
        • 2012-05-04
        相关资源
        最近更新 更多