java - 收到 400 - 错误请求 Java 客户端

标签 java http request httpclient http-status-code-400

我正在尝试使用小型 Java 程序执行请求,但收到 400 - 错误请求作为响应:

URI uri = new URIBuilder().setScheme("https")
                .setHost("somehost.com")
                .setPath("/API/v1/export").build();
        HttpPost post = new HttpPost(uri);
        post.setHeader("X-API-ID", "myId");
        post.setHeader("Accept", "application/json");
        List<NameValuePair> params = new ArrayList<NameValuePair>();
        params.add(new BasicNameValuePair("format", "csv"));
        params.add(new BasicNameValuePair("userId", "userId"));
        post.setEntity(new UrlEncodedFormEntity(params));
        JsonNode responseJson = sendResponseEngineRequest(post);

responseJson返回以下值:

{"meta":{"httpStatus":"400 - Bad Request","error":{"errorMessage":"Invalid Content-Type. expected=application/json found=application/x-www-form-urlencoded","errorCode":"RP_0.1"}}}

提前致谢。

最佳答案

答案实际上就在您收到的错误中。

您指定您只接受 post.setHeader("Accept", "application/json"); 并且错误告诉您您请求的是 found=application/x-www-form-urlencoded

如果您可以控制请求数据的端点,请将其更改为 application/json。如果您不将 post.setHeader("Accept", "application/json"); 更改为 post.setHeader("Accept", "application/x-www-form-urlencoded ");

关于java - 收到 400 - 错误请求 Java 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38530533/

相关文章:

java - 使用 JavaScript 加密字符串并从服务器端解密 (Java)

http - Google Analytics - 异常会停止 session 吗?

javascript - 错误 myFunction(...).then 不是函数

http - 文件服务器不会提供超过 32 KB 的文件

如果输入字段为空,PHP 不会回显;与 PRG 模式

ios - 尝试使用RestKit发出POST请求并将响应映射到Core Data

python - 如何访问嵌套跨度标签内的数据

java - 当使用 Hibernate table-per-class 时,如何防止为基类创建表?

Java 7/8 请求参数大小限制

java - ImageIcon 显示 URL 图像