gpt4 book ai didi

java - Apache HttpClient 制作多部分表单帖子

转载 作者:IT老高 更新时间:2023-10-28 13:52:33 26 4
gpt4 key购买 nike

我对 HttpClient 很陌生,我发现缺少(和或明显不正确的)文档非常令人沮丧。我正在尝试使用 Apache Http Client 实现以下帖子(如下所列),但不知道如何实际操作。下周我将埋头于文档中,但也许更有经验的 HttpClient 编码人员可以更快地给我答案。

帖子:

Content-Type: multipart/form-data; boundary=---------------------------1294919323195
Content-Length: 502
-----------------------------1294919323195
Content-Disposition: form-data; name="number"

5555555555
-----------------------------1294919323195
Content-Disposition: form-data; name="clip"

rickroll
-----------------------------1294919323195
Content-Disposition: form-data; name="upload_file"; filename=""
Content-Type: application/octet-stream


-----------------------------1294919323195
Content-Disposition: form-data; name="tos"

agree
-----------------------------1294919323195--

最佳答案

使用 HttpMime library 中的 MultipartEntityBuilder执行您想要的请求。

在我的项目中,我是这样做的:

HttpEntity entity = MultipartEntityBuilder
.create()
.addTextBody("number", "5555555555")
.addTextBody("clip", "rickroll")
.addBinaryBody("upload_file", new File(filePath), ContentType.APPLICATION_OCTET_STREAM, "filename")
.addTextBody("tos", "agree")
.build();

HttpPost httpPost = new HttpPost("http://some-web-site");
httpPost.setEntity(entity);
HttpResponse response = httpClient.execute(httpPost);
HttpEntity result = response.getEntity();

希望这会有所帮助。

(以@mtomy 代码为例,更新了这篇文章以使用 MultipartEntityBuilder 代替已弃用的 MultipartEntity)

关于java - Apache HttpClient 制作多部分表单帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2304663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com