Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: HTTP 1.1 + SIM300
Форум разработчиков электроники ELECTRONIX.ru > Интерфейсы > Форумы по интерфейсам > Сотовая связь и ее приложения
mr_freeman
Добрый день.

Пытаюсь соединится с сервером по IP, но никак не могу разобратся что пересилать по протоколу HTTP 1.1

Формат следующий:
at+cipstart="tcp","АЙПИ","80"
at+cipsend
>GET /test/Data?dat=test
ctrl+z

send ok

и ничего ни в ответ на на сервере.

где-то прочитал что просто GET не досточно, пробывал

>GET /test/Data?dat=test
Accept: */*
host: АЙПИ
ctrl+z

результат одинаковый

если совсем уже какую-то билиберду послать, в ответ: АПАЧ такой-то, протокол HTTP 1.1, ошибка такая-то

Может я не правильно запросы делаю, или вообще не так с сим300 по этому протоколу работать нужно?
Может кто напишет правильный вариант?

Спасибо.
Tcom
Ещё нужно передавать HTTP заголовки .
GET HTTP/1.1
Host: myserver.com
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5
Accept: text/html
Connection: close

Например.
Host: - имя сайта например.
Прочтите спецификацию на HTTP протокол.
Посмотрите как взаимодействует браузер с веб сервером при помощи сниффера типа Wireshark.
ovik89
Надо что то вроде
at+cipstart="tcp","АЙПИ","80"
at+cipsend
>GET www.mysite.ru/index.php / HTTP/ 1.1 <возврат каретки><перевод строки>
Host:www.mysite.ru <возврат каретки><перевод строки><возврат каретки><перевод строки>
ctrl+z
zhan
Вот держи пример 100пудов рабочего заголовка и там же ответ!


AT+CIPSEND
> GET / HTTP/1.1\n
Connection: Close\n
Authorization: Basic YWRtaW46YWRtaW4=\n
User-Agent: Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9b5) Gecko/2008050509 Firefox/3.0b5\n
Host: 82.207.127.147:80\n
Accept: */*\n
\n
\n\x1A
SEND OK\n\r
HTTP/1.1 302 Found\n\r
Content-Type: text/html; charset=utf-8\n\r
Connection: close\n\r
Set-Cookie: _atlant-protocol_session=0fb4322b2ec71e6b02a93352c16f494b; path=/\n\r
Status: 302 Found\n\r
X-Powered-By: Phusion Passenger (mod_rails/mod_rack) 2.2.7\n\r
Location: http://82.207.127.147/monitorings\n\r
X-Runtime: 43ms\n\r
Content-Length: 99\n\r
Cache-Control: no-cache\n\r
Server: nginx/0.7.64 + Phusion Passenger 2.2.7 (mod_rails/mod_rack)\n\r
\n\r
You are being <a href="http://82.207.127.147/monitorings">redirected</a>.\n\r
CLOSED\n\r

Народ, кто-нибудь отправлял командой AT+CIPSEND более 1 кило, а то в документации пишут но низя!
mr_freeman
Спасибо большое. Работает! Правда много всего. Интересно, что из всего этого можно выкинуть, для экономии трафика. Я вот, например оставил только:
GET /блаблабла
GET HTTP/1.1
Host: 92.60.187.9
User-Agent: 5
Accept: text
Connection: close

Ну я понимаю, что это еще и от сервера зависит, но тем не менее.
А на счет больше 1Кб пробывал чисто для теста, после превышения 1Кб модуль перестает эхом отвечать, минуту молчит, потом присылает SEND OK. А вообще, я все разбивал по 512 байт. AT+CIPSEND=512
Ден
Цитата(mr_freeman @ Mar 9 2010, 05:32) *
Интересно, что из всего этого можно выкинуть, для экономии трафика.

Я делал еще проще
Код
GET http://site_name.ru/index.php?get_param=1 HTTP/1.0#013#010
Host: site_name.ru#013#010
#013#010
#026

Host: site_name.ru#013#010 - адрес сервера (хоста) на который будем посылать запрос
GET http://site_name.ru/index.php?get_param=1 HTTP/1.0#013#010 - пример самой строки запроса

В данном случае я работал с DNS серверами
AT+CDNSCFG="208.67.222.222","208.67.220.220" //прописываем ДНС
AT+CDNSORIP=1 //Разрешаем работу через ДНС
Этого всего вполне достаточно чтобы получить ответ от сервера

Сам не пробовал передавать более 1кБ, но на сколько понял это сделать можно, но при передаче модем будет резать пакеты на куски, и в случае если хоть один пакет не дойдет до сервера, то придется передавать всю посылку заново, поэтому лучше самому позаботиться о разбивке
av-master
Экономия трафика и HTTP - странное желание ))

Вообще если сайт на сервере один. то можно и без поклонов апачу обойтись..
mr_freeman
Сегодня отрезал все, оставил только GET http://блабла HTTP/1.1
Работает.
Ден
Так будет работать, но не на всех серверах!
Если на сервере несколько доменов, то сервер может не понять к какому именно домену обращаются. Сам лично сталкивался с этим.
av-master
smile.gif это как раз то о чем я пиал. работает только если сайт лежит первым. или он единственный.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.