2015-07-24 4 views
0

Я прошел через ESP8266WiFi.h, но не смог выяснить, как получить HTTP-status-codes, как только я получу отклик.Fetch Http-Status-коды в arduino (ESP8266)

Мой код выглядит следующим образом:

String serverMessage = BuildOutMessage(); 
client.print(serverMessage); 
delay(10); 

...

while (client.available()){ 
    String line = client.readString(); 
    Serial.println(line); 
} 

Serial.println(""); 
Serial.println("closing connection"); 

Там нет методов для получения HTTP-коды состояния или 200/404/400/и т.д.. не является частью сообщения, которое я получаю с сервера. Как получить код состояния?

Я попытался использовать Почтальон, и я вижу код состояния.

ответ

0

Код состояния находится в первой строке ответа HTTP (от сервера к клиенту). Пример ответ может быть:

HTTP/1.1 200 OK 
Content-Type: text/plain 
Connection: close 

Some text here. 

Если вы пишете код клиента, то вы должны разобрать первую строку ответа от сервера, ищет для этого номера. Один из методов состоит в том, чтобы собрать содержимое этой строки в буфере символов, а затем использовать strtok, чтобы разбить это на группы, разделенные пробелами.

+0

Это то, чего я ожидал, когда я делаю while (client.available()) и client.readString(). Но я не вижу HTTP/1.1 200 OK. – Sri

+0

Что * делать * вы видите? Ваш код испорчен тем, что вы ожидаете немедленного ответа. Я не могу сказать из вашего фрагмента, но если вы что-то прислали и сразу же зайдете в поисках ответа, и он не придет с несколькими микросекундами, вы пропустите его. –

Смежные вопросы