PDA

Просмотр полной версии : как правильно оформить GET запрос



Brandon_heat_dre
25.08.2019, 11:38
Доброго дня товарищи. вопрос такой как правильно с точки зрения синтаксиса оформить GET запрос через AT команды
делаю так
AT+CIPSTART="TCP","tepl.ru",80
OK
CONNECT OK

AT+CIPSEND
> GET /?temp=321

нажимаю Enter ну и тут ошибка , я так понимаю что в синтаксисе дело что то делаю не так. но примеров пока не нашел.

capzap
25.08.2019, 12:08
https://habr.com/ru/post/50147/

Brandon_heat_dre
25.08.2019, 14:57
Спасибо за статью но она не помогла
делаю так
AT+CIPSEND
> GET /index.php?temp=23 HTTP/1.1
Host:tepl.ru
^Z ENTER

в ответ 400 Badrequest
и хоть убей какие только варианты уже не пробовал

capzap
25.08.2019, 15:19
Вы уникальный
Не пробовали начать слать запросы на общедоступные сервера, а не на тот которому отказано в обслуживании

Brandon_heat_dre
25.08.2019, 15:27
что значит отказано в облуживании???? подскажите плиз не понимаю нифига. в браузере вбиваю строку сайт.ru/?temp=68 все отлично работает. тут я сам сайт не написал понятное дело только пример.

capzap
25.08.2019, 15:57
http://mil.ru/ на этот возвращается ошибка?

Brandon_heat_dre
25.08.2019, 16:08
AT+CIPSTART="TCP","mil.ru",80

OK

CONNECT OK
AT+CIPSEND

> GET mil.ru HTTP/1.1
host: mil.ru
^Z

CLOSED

вот такая штука получается ругаться не ругается но и ничего не выводит или я не так нписал запрос?

capzap
25.08.2019, 16:49
всё так, я просто считал что проблема в http vs https
вот эта ссылка должна всё прояснить https://www.shellhacks.com/ru/telnet-send-get-head-http-request/
ЗЫ самое главное требуется два раза конец строки посылать

Brandon_heat_dre
25.08.2019, 17:00
вот там прям есть пример, вот я его выполняю, я совсем ничего не понимаю уже что то
AT+CIPSTART="TCP","www.shellhacks.com",80

OK

CONNECT OK
AT+CIPSEND

> GET www.shellhacks.com HTTP/1.1
Host: www.shellhacks.com
^Z

SEND OK
HTTP/1.1 400 Bad Request
Server: nginx
Date: Sun, 25 Aug 2019 13:58:28 GMT
Content-Type: text/html
Content-Length: 150
Connection: close
x-ray: p699:0.000/


а что значит два раза конец строки посылать , я просто в putty пока это делаю , ну если в путти получится то и в кодесисе sendbyte отработает. но я тупо после каждой строчки жму Enter и в конце запроса ctrl+z и Enter это неправильно?

Brandon_heat_dre
25.08.2019, 17:04
а я вот думаю может у меня что с модемом..... хотя скорее всего у меня что то с руками но мозг уже взрывается.

capzap
25.08.2019, 17:06
это Вы в телнете HEAD запрос сделали, хотя написали что GET
про два раза ентер нажать это будет в любом мануале программистов как посылать запросы

Brandon_heat_dre
25.08.2019, 17:26
все заработало. capzap спасибо за наводку. два энтера в конце это сила, но это конечно треш, как до этого догадаться одному богу известно. последний вопрос подскажите как вставить ctrl+z в строку
SetByte(0,'GET /index.php?temp=23 HTTP/1.1$R$NHost: teplo.ru$R$NAccept: */*$R$N$R$N$R$N',76); ??????

capzap
25.08.2019, 17:40
раскрою еще один секрет, на oscat.de есть бибка network_oscat.lib, а в ней есть ФБ HTTP_GET в исходниках

Brandon_heat_dre
25.08.2019, 17:51
да уже фиг с ним ctrl+z тоже наше:) ну ипоследний вопрос за очень большой плюс в карму, capzap помогите добрый человек как мне выполнить такую типа штуку

SetByte(0,'GET /index.php?temp='+int_to_string(temper)+ ' HTTP/1.1$R$NHost: teplo.ru$R$NAccept: */*$R$N$R$N$R$N',76)

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

capzap
25.08.2019, 17:56
это код для контроллера? В КДС + ни когда небыл знаком конкатенации, для этого есть функция CONCAT

Brandon_heat_dre
25.08.2019, 18:02
concat уже пользуюсь но не очень удобно как то строки таким методом объединять, другой способ взял просто делаю три
SetByte
SetByte (0,int_to_string(temper1),5)
SetByte
по центру изменяемый параметр , вроде работает пока что . посмотрим до завтра как себя поведет.
capzap тебе спасибо отдельное, как бы не ты, я бы наверно сегодня с работы не ушел бы.