【发布时间】:2020-10-11 12:15:37
【问题描述】:
我有一个 SIM900 GSM 模块,用于向服务器发送 GET 和 POST 请求。
最近我为此租了一个主机。我使用 asp.net webforms 编写了一个简单的页面来解析来自 GSM 模块的传入数据,一切正常,直到几天前我注意到我不再可以从我的 gsm 模块接收数据。
在进一步调查后,我发现我租用的主机不断向我的 GSM 模块返回 HTTP 400 错误。这些响应不是来自 IIS,而是来自 Microsoft-HTTPAPI/2.0。请求头是这样的:
GET /test/data?meow HTTP/1.1
Host : www.whatever.com
Connection : keep-alive
这是服务器响应(正文省略):
HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Sun, 11 Oct 2020 12:08:28 GMT
Connection: close
Content-Length: 339
我使用 Postman(应用程序)模拟相同的请求,一切正常。
我还制作了 chrome 请求标头的精确副本并将其提供给模块,但这也不起作用。
注意:我没有使用 sim900 的 HTTP 命令,而是连接到某个端口(在本例中为 80)并手动发出获取请求。
注意 2:我获得了一个 Plesk 面板来管理我的网站,但无权访问某些服务器设置。
【问题讨论】:
-
您是否尝试省略标题名称和逗号之间的空格?那些不应该在那里
-
@Expolarity 是的。它什么也没做。
-
您是否尝试查看this?这似乎与您的问题类似
标签: http iis bad-request sim900