【问题标题】:the difference between Postman and POST request in JavaJava中Postman和POST请求的区别
【发布时间】:2018-10-29 12:41:09
【问题描述】:

我需要从某个 URL 获得一些响应。 为此,我使用 http://unirest.io/java.html 和 Java。

Map<String, String> map = new HashMap<>();
map.put(key1, value1);
...
map.put(keyN, valueN);

String authToken = "{token}";

HttpResponse<String> response = Unirest.post(url)
    .header("Authorization","Bearer " + authToken)
    .header("Content-Type", "application/json")
    .fields(map)
    .asString();

因此,我收到 response.getStatus() = 302 和一些意外的正文。

同时我使用 Postman 软件得到相同的响应。设置如下:

POST: url
Authorization: Type -> Bearer Token; Token = {{authToken}}  // get the value from the previous request
Header : 
"Authorization" : "Bearer " + {{authToken}}
Content-Type: application/json
Body:
{
    key1 : value1,
    ...
    keyN : valueN
}

我得到了一些预期的响应。

有什么区别?

【问题讨论】:

  • HTTP 302 表示存在重定向。也许 Java 应用程序不允许?

标签: java postman unirest


【解决方案1】:

302 是重定向响应。邮递员是否有可能遵循重定向并返回结果页面?查看您在 Java 中获得的响应中的 Location 标头,并查看以下内容是否与您在 Postman 中看到的结果相同。

【讨论】:

  • 这个post,以及我在网上找到的其他来源,证实了 Postman 遵循每个重定向。有趣的是,当开发人员想要确保正确返回 302 时,它变成了 an issue :)
  • 那么,我是否需要从 Java 中收到的响应中的 Location 标头中获取 URL,是否需要再发送一次带有此 URL 的 POST 请求?
猜你喜欢
  • 2019-05-29
  • 2014-11-19
  • 2020-01-08
  • 2019-11-12
  • 2021-08-25
  • 1970-01-01
  • 2021-12-31
  • 2019-01-16
  • 2010-09-11
相关资源
最近更新 更多