0

几天前,我发布了有关 nodeMcu POST 请求的问题,找不到任何解决方案,我接下来要尝试:

conn=net.createConnection(net.TCP, 0)
conn:on("receive", function(conn, payload) print(payload) end )
conn:on("connection", function(c)
conn:send("GET /wifi?temp=24&hum=12&alert HTTP/1.1\r\n"
.."Host: www.weatherman.bl.ee\r\n"
.."Cache-Control: no-cache\r\n"
.."Connection: keep-alive\r\nAccept: */*\r\n\r\n")
end)
conn:connect(80, "www.weatherman.bl.ee")

但是这个请求以 301 错误回复我

HTTP/1.1 301 Moved Permanently 
Date: Mon, 02 Nov 2015 20:03:50 GMT
Server: Apache
Location: http://www.weatherman.bl.ee/wifi/?temp=24&hum=12&alert
Content-Length: 270
Keep-Alive: timeout=2, max=100 
Connection: Keep-Alive
Content-Type: text/html; charset=iso-8859-1

有任何想法吗?可能是标题的问题?邮递员执行请求很好

4

2 回答 2

3

服务器可能会/在请求 URL 路径的末尾强制执行 a。

如果您使用带有 extra 的 URL,/重定向响应会尝试重定向您,那么您不应该得到 301 响应。

/wifi/?temp=24&hum=12&alert
     ↑
     └ extra slash
于 2015-11-03T13:27:30.723 回答
1

状态 301 不是错误,从 200 到 399 的所有内容都被视为成功。在 301 的情况下,将有一个位置标头,您可以使用它来构建重定向的 URL。服务器响应给定的 URL 时返回 301,您在客户端上唯一能做的(除了使用位置来跟踪它)就是使用不同的 URL。

于 2016-04-29T00:48:33.887 回答