ESP 8266. Не получается правильно сформировать строку запроса к серверу через АТ-команды. Подскажите.
- Войдите на сайт для отправки комментариев
Пт, 11/03/2016 - 07:45
Пытаюсь отправлять данные на Тhingspeak через АТ-команды.
Пробовал програмно с использованием библиотеки Тhingspeak - все работает замечательно.
Пробовал просто из строки браузера:
Опять-таки все работает превосходно - данные принимаются.
Пытаюсь повторить через АТ-команды:
AT+CIPSTART="TCP","api.thingspeak.com",80
CONNECT
OK
AT+CIPSEND=108
OK
> GET /update?api_key=ХХХХ65CE76RMХХ&field1=100 HTTP/1.1\r\n Host: api.thingspeak.com\n Connection: close\r\n\r\n\r\n
SEND OK
Сервер отвечает, что это 400 Bad Request
ЧТО В СТРОКЕ ЗАПРОСА НЕ ТАК?????
По меньшей мере вижу отсутствующий символ \r :
Host: api.thingspeak.com\n
Надо:
Host: api.thingspeak.com\r\n
Зачем кодировать & в &, если это часть запроса, а не часть данных?
GET /update?api_key=ХХХХ65CE76RMХХ&field1=100
Поменяйте на:
GET /update?api_key=ХХХХ65CE76RMХХ&field1=100
Пробелы в началах строк - убрать:
Host: api.thingspeak.com\n Connection: close\r\n\r\n\r\n
Последний перевод строки - лишний.
Не задан заголовок Content-Length, в вашем случае он должен быть таким:
Content-Length: 0
Достаточно?