【问题标题】:HTTP request with json data getting bad request error带有 json 数据的 HTTP 请求收到错误的请求错误
【发布时间】:2017-09-12 05:40:32
【问题描述】:

POST https://api.smtp2go.com/v3/stats/email_summary HTTP/1.1 主机:api.smtp2go.com 内容类型:应用程序/json 连接:关闭 内容长度:52

{ "api_key":"api-" }

GETTING 响应为

400 错误请求

错误请求

您的浏览器发送了此服务器无法理解的请求。


Apache/2.4.10 (Debian) 服务器位于 us-api-1。 smtp2go.com 端口 80

【问题讨论】:

  • 这与api key无关。如果是由于无效的api key引起的,响应体会显示INVALID_IN_PAYLOAD错误代码等。这更像是:请求格式/浏览器插件修改的请求/浏览器安全策略修改的请求等问题。你能比较一下请求吗从浏览器发送并通过 Postman 发送?
  • 这与我用我的 arduino 板发送的请求相同。会不会是服务器端口地址的问题?
  • 很久以前就听说有些Arduino不支持HTTPS。也许检查一下是个好主意?
  • 我尝试更改为端口 443,但它说您正在使用纯 http 文本作为 SSL 端口。我应该知道什么?我从 postman 和 www.codepunker.com 等不同来源发送相同的请求,但它们没有出现与 arduino 相同的问题。
  • 你的意思是你正在向http://api.smtp2go.com/...发送请求?如果是,我认为您的问题的根本原因是:smtp2go API 仅支持 HTTPS。要发送 HTTPS 请求,您需要客户端支持——生成公钥/私钥、编码/解码消息等。只需将端口从 80 更改为 443 将不起作用。

标签: json apache http httprequest arduino-uno


【解决方案1】:

出于安全原因,您不应公开发布您的 API 密钥。我建议从这篇文章中删除它。至于您的问题,我建议您仔细检查您的 API 密钥是否处于活动状态。这可能是问题的一部分。

如果这不是你的问题。我建议查看这个包含所有 API 错误代码的网站。 https://kb.insideview.com/hc/en-us/articles/202959833-API-Error-Codes

【讨论】:

  • API 密钥处于活动状态。通过 POSTMAN 应用程序发送 HTTP 请求时运行完美。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多