【发布时间】:2014-08-18 13:16:17
【问题描述】:
对于一个学校项目,我正在构建一个基于 Arduino 的小型气象站。该站将其数据发送到 PHP 页面(使用 CC3000),该页面将其放入 MySQL 数据库。我几天前工作的代码现在不知何故停止工作。 问题是我从服务器收到 400 错误请求。我使用的代码如下
while (!client.connected()){
Connect();
}
client.fastrprint(F(" GET "));
client.fastrprint(PAGE);
client.fastrprint(F("?sensor="));
client.fastrprint(sensor);
client.fastrprint(F("&&unit="));
client.fastrprint(unit);
client.fastrprint(F("&&value="));
client.fastrprint(charBuffer);
client.fastrprint(F("&&pass="));
client.fastrprint(F(" HTTP/1.1\r\n"));
client.fastrprint(F("Host: "));
client.fastrprint(SERVER);
client.fastrprint(F(":80\r\n"));
client.fastrprint(F("\r\n"));
client.println();
现在大部分代码来自 adafruit 的示例函数。奇怪的是,当我使用 telnet 发送相同的请求时,我也收到了 HTTP 400 错误请求。但是当我使用浏览器请求 URL 时,PHP 页面会接受数据并将其放入我的数据库中。 这是我在 telnet 中使用的命令。
GET /weer/add.php?sensor=DHT&&unit=C&&value=99.99&&pass= HTTP:/1.1
Host:www.---.nl
谁能帮我弄清楚我的请求有什么问题?
如果有帮助,服务器会运行 nginx 1.7.0
【问题讨论】:
-
你和几天前相比有什么变化?为什么要使用双&? Nginx 的访问日志中的请求是什么样的?代码有所不同 - 您将
:80后缀添加到主机名。PAGE、SERVER是什么? -
问题是我有几天没有改变任何东西。 PAGE 是 /weer/add.php 而 SERVER 是网站的地址,所以 www.sitename.nl 我今天添加了 :80,因为这里有人建议这样做。它不应该有所作为。抱歉,我无权访问访问日志
标签: http arduino telnet bad-request