【问题标题】:OkHttp Post MediaType ParseOkHttp Post MediaType 解析
【发布时间】:2021-10-29 16:17:51
【问题描述】:

我正在尝试在 OkHttp POST 请求的正文中发送员工 ID 的单行文本,模拟我使用浏览器检查看到的请求。

请求是 URL 参数和帖子正文中的单个员工 ID 字符串的混合,即ABC123

目前在登录并发送请求后,服务器响应为 500。

        Request quickFind = new Request.Builder()
            .url(quickFIndUrl)
            .addHeader("csrf_tok", csrfToken)
            .addHeader("x-rest-api", "true")
            .addHeader("x-requested-with", "true")
            .addHeader("accept-encoding", "gzip, deflate, br")
            .addHeader("user-agent", "Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Mobile Safari/537.36")
            .addHeader("accept", "application/json, text/plain, */*")
            .addHeader("origin", "https://contoso.com")
            .addHeader("content-type", "application/json;charset=UTF-8")
            .post(RequestBody.create(MediaType.parse("text/x-markdown"), postBody))
            .build();

.post(RequestBody.create(MediaType.parse("text/x-markdown"), postBody) 行做了什么,我认为这可能是服务器响应 500 的原因。

从表面上看,它看起来像是设置了MIME type,但MIME 类型与上面的content-type 有何不同?

除了 text/x-markdown 之外,还有哪些可以解析的有效类型?

【问题讨论】:

    标签: java html http web okhttp


    【解决方案1】:

    请求正文中的内容类型将作为Content-Type 标头传输。

    您应该删除内容类型标头;这是多余的。

    选择最能描述您的请求正文的内容类型。

    【讨论】:

    • 也许 - 但我在浏览器检查中看到内容类型标题。
    猜你喜欢
    • 1970-01-01
    • 2017-09-11
    • 2021-10-25
    • 2016-04-21
    • 2017-09-29
    • 2020-11-23
    • 1970-01-01
    • 2016-04-13
    • 2016-03-06
    相关资源
    最近更新 更多