POST и GET через SIM900 - Bad Request

Prin53
Offline
Зарегистрирован: 31.12.2013

Добрый день. Есть SIM900 модуль.

На севрере просто скрипт, принимающй GET-запрос и отправляющий результаты назад:

<?php
		echo "Welcome ". $_GET['name']. "<br />";
   		echo "You are ". $_GET['age']. " years old.";
		exit();
?>

Из строки браузера все работает.

На UNO пишу:

numdata=inet.httpGET("http://site.net", 80, "/index.php?name=Marco&age=24", msg, 50);

Получаю:

HTTP/1.1 400 Bad Request
Date: Wed, 22 Jan 2014 15:41:21 GMT
Server: Apache
Content-Length: 226
Connection: close
Content-Type: text/html; charset=iso-8859-1

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
</p>
</body></html>

Что не так? Подскажите, пожалуйста.

Пример нашел тут: http://www.open-electronics.org/the-gsmgprs-gps-shield-some-http-connections-examples/

Prin53
Offline
Зарегистрирован: 31.12.2013

Что-то с форматированием. Код:

numdata=inet.httpGET("http://site.net", 80, "/index.php?name=Marco&age=24", msg, 50);

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Попробуйте вручную (http://www.esqsoft.com/examples/troubleshooting-http-using-telnet.htm)

INPUT:

# telnet www.esqsoft.globalservers.com 80

Note: this launches telnet and tells it to look up and connect to the server for "www.esqsoft.globalservers.com" on port 80.

OUTPUT:

Trying 64.136.56.122... Connected to www.esqsoft.globalservers.com. Escape character is '^]'.

INPUT:

GET /index.htm HTTP/1.1

 <line feed>

Notes:
1) no OS cursor caret, the connection is open so you just get a blank line waiting for input.
2) need to hit <enter> twice after the "host:"

OUTPUT:


HTTP/1.1 200 OK
Date: Mon, 18 Apr 2005 16:38:00 GMT
......

maksim
Offline
Зарегистрирован: 12.02.2012

Если хотите в строке написать символ ", то нужно ставить обратный слэш \" 

char str[] = "How to say \"fuck you!\" to php?";

вывод:

How to say "fuck you!" to php?

 

Prin53
Offline
Зарегистрирован: 31.12.2013

Спасибо за ответы. Но у меня нет там ковычек. 

Сам сервер работает.

Есть еще варианты?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Prin53 пишет:

Сам сервер работает.

Ну, тогда wireshark или tcpdump в зубы и смотрите: кто и что передает...

Prin53
Offline
Зарегистрирован: 31.12.2013

Andrey_Y_Ostanovsky пишет:

Prin53 пишет:

Сам сервер работает.

Ну, тогда wireshark или tcpdump в зубы и смотрите: кто и что передает...

Можно подробнее?

Andrey_Y_Ostanovsky
Offline
Зарегистрирован: 03.12.2012

Prin53 пишет:

Можно подробнее?

Это компьютерные программы, позволяющие "прослушивать" сетевой интерфейс и смотреть: что там на самом деле передается...

Prin53
Offline
Зарегистрирован: 31.12.2013

Дело в том, что php-файл находится на удаленном сервере. При том хостинг фри и урезанный следовательно. Там  даже логи не вижу.