21.06.2015, 01:30 | #1 |
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 |
Разобрать GET на W5100
Пришли мне шилды w5100 все вроде не чего работают нормально, но столкнуля с такой проблемой не могу понять как разобрать get запрос который берётся из url например по запросу ссылки http://192.168.0.55/?nasos=on берется вот эта часть ?nasos=on и уже выполняется условие вот оп такому коду
Код:
relestatus = EEPROM.read(addr); EthernetClient client = server.available(); if (client) { while (client.connected()) { if (client.available()) { char c = client.read(); if (readString.length() < 100) { readString += c; } if (c == '\n') { // Serial.println(readString); //print to serial monitor for debuging client.println("HTTP/1.1 200 OK"); //send new page client.println("Content-Type: text/html"); client.println(); client.print(temp1); if(readString.indexOf("?nasos=on") >0) { digitalWrite(11, HIGH); EEPROM.write(addr, 1); digitalWrite(2, HIGH); } if(readString.indexOf("?nasos=off") >0) { digitalWrite(11, LOW); EEPROM.write(addr, 0); } client.print(digitalRead(11)); delay(1); client.stop(); readString=""; } } } } |
21.06.2015, 09:05 | #2 |
Senior Member
Регистрация: 20.09.2014
Сообщений: 145
Вес репутации: 0 |
Re: Разобрать GET на W5100
Спутал с веб-кодом, у вас скетч.
Последний раз редактировалось Alex19279; 21.06.2015 в 09:56. |
21.06.2015, 10:19 | #3 | |
Moderator
Регистрация: 20.07.2014
Адрес: МСК
Сообщений: 991
Вес репутации: 1031 |
Re: Разобрать GET на W5100
отсюда:
Цитата:
В Perl это выглядело так: Код:
@pairs = split(/&/, $ENV{'QUERY_STRING'}); foreach $pair (@pairs) { ($name, $value) = split(/=/, $pair); $FORM{$name} = $value; } $FORM{'time'}=3000 UPD: Вот тут про разбитие строки на дуине. Последний раз редактировалось Tohin; 21.06.2015 в 10:28. |
|
21.06.2015, 13:59 | #4 |
Junior Member
|
Re: Разобрать GET на W5100
Топикстартер, вы разыскиваете готовую реализацию или вас интересует алгоритм? Если второе, внемлете:
1. Находите символы ? или & в строке. Все, что до, отбрасываете вместе с ним. 2. Находите символ = До него - имя параметра. После (до символа & или когца строки) - значение параметра. Это вариант посимвольного парсинга строки url. |
21.06.2015, 14:38 | #5 | |
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 |
Re: Разобрать GET на W5100
Цитата:
|
|
21.06.2015, 14:57 | #6 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Разобрать GET на W5100
Сканируете строку(массив) в цикле пока packid не будет =8
PHP код:
|
21.06.2015, 19:30 | #7 |
Senior Member
Регистрация: 05.10.2014
Сообщений: 190
Вес репутации: 0 |
Re: Разобрать GET на W5100
Что то я не совсем понял, зачем мне перебирать массив? у меня ?time=3000 ведь не постоянная там может быть и ?time=5000 и тд
|
21.06.2015, 23:47 | #8 |
Senior Member
|
Re: Разобрать GET на W5100
Так Вам и показали, как добраться при разборе строки до числа. Находите 'me=', далее разбираете строку, считывая искомое число.
|
22.06.2015, 08:32 | #9 | |
Junior Member
|
Re: Разобрать GET на W5100
Цитата:
|
|
22.06.2015, 08:39 | #10 |
Administrator
Регистрация: 12.04.2010
Адрес: Москва
Сообщений: 9,618
Вес репутации: 9823 |
Re: Разобрать GET на W5100
Еще нужно было добавить проверку
PHP код:
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|