首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >松弛传入的web钩子并使其与HTTPPOST一起工作

松弛传入的web钩子并使其与HTTPPOST一起工作
EN

Stack Overflow用户
提问于 2016-05-24 20:21:10
回答 1查看 2.5K关注 0票数 0

团队,我需要帮助张贴一个简单的Json请求到Slack。我设置了配置并使用了URL。他们想让我加入payload={"Text":"Some String"}

我使用以下代码:

代码语言:javascript
复制
HttpPost httppost = new HttpPost("slackURL");
 httppost.addHeader("Content-type", "application/json");
StringEntity params = new StringEntity("payload={\"text\" : \""+message+"\"}","UTF-8");

           params.setContentType("application/json");
            httppost.setEntity(params);

错误信息:

代码语言:javascript
复制
HTTP/1.1 500 Server Error
Response content length: -1
Chunked?: true

斯拉克的答复:

代码语言:javascript
复制
Our logs indicate that the content isn't being posted to the payload HTTP POST/form parameter.
EN

Stack Overflow用户

回答已采纳

发布于 2016-05-25 15:40:19

变化

代码语言:javascript
复制
StringEntity params = new StringEntity("payload={\"text\" : \""+message+"\"}","UTF-8");

代码语言:javascript
复制
StringEntity params = new StringEntity("{\"text\" : \""+message+"\"}","UTF-8");

(去掉"payload=",因为这不是有效的JSON。)

对于每个文献资料,当POSTing到传入的web钩子URL时,您有两个选择:

  1. 您可以在请求的正文中以JSON的形式发送数据。
  2. 您可以发送带有JSON值的payload表单编码参数。

你在中间做了些什么..。您声称正在发送一个JSON编码的正文(通过Content-Type: application/json),但是没有发送有效的JSON。(您发送的东西看起来更像表单编码选项,但实际上并不是表单编码选项。)

顺便提一句:我强烈建议您使用真正的库来构建JSON。用手做是容易出错的。例如,如果您试图对消息A wise man once said "You shouldn't try to encode JSON by hand."进行编码,您将得到一个错误,因为您生成的JSON无效。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37423129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档