在 Java 中发出多部分/表单数据 POST 请求:HTTP 客户端替代方案
多部分/表单数据 POST 请求是常见的必需品网络开发任务。虽然 Apache Commons HttpClient 版本 3.x 支持此功能,但它在版本 4.0 中被删除。正如开发人员所指出的,多部分格式化被认为超出了其核心“HTTP”活动的范围。
鉴于 HttpClient 4.0 中缺乏本机多部分支持,探索支持创建的替代 Java 库变得至关重要能够处理多部分/表单数据 POST 请求的 HTTP 客户端。
探索多部分/表单数据的 Java 库POST
一种流行的选择是 HttpClient 4.x。它提供了一个现代且功能丰富的 HTTP 客户端库。对于多部分/表单数据请求,HttpClient 使用 MultipartEntityBuilder 来构造多部分实体。
HttpClient 4.x 的示例代码
HttpPost uploadFile = new HttpPost("..."); MultipartEntityBuilder builder = MultipartEntityBuilder.create(); builder.addTextBody("field1", "yes", ContentType.TEXT_PLAIN); builder.addBinaryBody("file", new FileInputStream(f), ContentType.APPLICATION_OCTET_STREAM, f.getName()); HttpEntity multipart = builder.build(); uploadFile.setEntity(multipart);
对于旧版本的 HttpClient 4.0(4.3之前),已弃用的API可以是使用:
HttpPost httppost = new HttpPost(url); FileBody bin = new FileBody(new File(fileName)); StringBody comment = new StringBody("Filename: " + fileName); MultipartEntity reqEntity = new MultipartEntity(); reqEntity.addPart("bin", bin); reqEntity.addPart("comment", comment); httppost.setEntity(reqEntity);
通过利用 HttpClient 4.x 或其他 Java 库的功能,开发人员可以轻松实现 HTTP 客户端,轻松处理多部分/表单数据 POST 请求。
以上是如何在没有 Apache Commons HttpClient 3.x 的情况下使用 Java 发出多部分/表单数据 POST 请求?的详细内容。更多信息请关注PHP中文网其他相关文章!