我正在测试系统上使用外部REST API。我正在尝试实现一个上载路径,我正在使用Apache HTTPClient。我尝试了以下邮差配置,效果非常好:
上传工作正常。
CloseableHttpClient httpClient = HttpClients.createDefault();
HttpPut request = new HttpPut("../upload") // placeholder url, not the real one
request.setHeader("Content-type", "multipart/form-data");
request.setHeader(HttpHeaders.AUTHORIZATION, "HEY I AM A TOKEN");
FileBody fileBody = new FileBody(new File("dummy.pdf"), ContentType.create("application/pdf"));
MultipartEntityBuilder builder = MultipartEntityBuilder.create();
builder.addPart("file", fileBody);
request.setEntity(builder.build());
CloseableHttpResponse response = httpClient.execute(request);
我总是从rest api中得到一个特定错误:
File could not have been parsed
上载路径的文档中提到了以下详细信息:
我想我在我的请求中完成了这个列表中的每一点——那么邮递员请求和我自己的java http请求之间的区别是什么呢?
我错过了什么?
编辑:
OkHTTP的代码也是一样的。仍然不知道为什么它不能与Apache HttpClient一起工作。
OkHttpClient testClient = new OkHttpClient();
File testfile = new File("dummy.pdf");
RequestBody body = new MultipartBuilder().type(MultipartBuilder.FORM).addFormDataPart("file","dummy.pdf",
RequestBody.create(MediaType.parse("application/pdf"),testfile)).build();
Request testreq = new Request.Builder()
.url("../upload")
.header("Authorization", "HI I AM A TOKEN")
.put(body)
.build();
Response testres = testClient.newCall(testreq).execute();
我不得不删除这条线
request.setHeader("Content-type", "multipart/form-data");
让它发挥作用。我真的不知道为什么,如果有人能帮我解决这个问题,并给我一些解释,我愿意接受。目前我很高兴,因为它现在起作用了。
我想做的是用httpclient下载一个文件。目前我的代码如下。 我的下载URL如下所示:http://example.com/file/afz938f348dfa3 正如你可以看到没有扩展名的文件(至少在网址)然而,当我去一个正常的浏览器网址,它下载文件asdasdaasda.txt或asdasdasdsd.pdf(名称是不同的url和extenstion并不总是相同的,取决于我试图下载什么)。
我正在编写一个Rest客户端来发布JSON数据使用Spring RestTem板。使用POSTMAN和下面的JSON数据在体内得到正确的响应- 但是,当尝试使用SpringRESTTemplate访问RESTAPI时,如下所示 我有个例外- 我会感谢你的帮助。
我正在尝试使用邮差上传一个文件。我已经通过点击“body”(在postman中)->二进制->选择文件附加了文件。我使用S3上载预签名的URL。在url中,文件的名称与我在Postman中选择的文件的名称完全相同。运行请求时,我得到一个错误: 但是,通过导出postman请求(通过单击“Code”)来获得curl命令,我得到了: 并添加一个用于上载文件的附加选项:
我正在测试文件上传到SharePoint在线与邮递员。在我的帖子请求中,我将正文设置为form-data,并添加了一个名为a.txt.的文本文件的文件参数 当我执行请求时,我的文件被上传,但当我打开文件时,内容被删除 我已尝试将内容类型标题设置为 应用程序/x-wow-form-urlencoded或多部分/form-data 但是没有运气
我有两台Linux服务器通过交叉连接电缆连接,内部IP地址为192.168.0.1(hostA)和192.168.0.2(hostB)。 hostA运行CentOS 5,hostB运行CentOS 7。 host B运行Apache 2.4. x和Tomcat 8.5.9。所有的网络流量都被路由到端口443(例如。HTTPS)的Apache Web服务器主机B。然后,所有Web应用程序流量(例如h
与/user/login?_format=json完全相同的POST在Postman中不起作用(错误403禁止),但在curl中使用相同的参数可以正常工作。 这个Curl的工作原理是:Curl--header“content-type:application/json”--request POST--data“{”name“:”bobo“,”pass“:”xxx“}”http://[domain]