HTTP-запрос с lua-скриптом

Я пытаюсь отправить операцию HTTP GET с помощью модема SIM5218 через 3G. Мне уже удалось отправить этот запрос при использовании minicom. Вот команда, которую я использовал:

at+netopen=,,1
at+chttpact="mywebsite.com",80
GET /myscript.py?var=varTest HTTP/1.0 
<ctrl-m><ctrl-j><ctrl-m><ctrl-j> <ctrl-Z>

Теперь я хочу, чтобы SIM5218 выполнял тот же запрос с помощью сценария lua.

printdir(1)
str='GET /myscript.py?var=Testlua HTTP/1.0\r\n\r\n'
sio.send('at+chttpact="mywebsite.fr",80')
rtc=sio.recv(5000)
sio.send(str);
sio.send(string.char(0x1A))
sio.send(string.char(0x00))
rtc=sio.recv(5000)
print(rtc);

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

Заранее спасибо.


person user3351385    schedule 27.02.2014    source источник


Ответы (1)


Возможно, это будет полезно:

1) Установите APN: AT+CGSOCKCONT=1,"IP","internet.someprovider.zz"

Эта команда должна вернуть OK

2) Установите информацию для аутентификации для вашего APN: AT+CSOCKAUTH=1,2,"user","password"

В моем случае я использую CHAP (2)

3) Открытая сеть: AT+NETOPEN=,,1

4) После этого вы можете проверить, активирован ли PDP, выполнив команду: AT+IPADDR

5) Открыть соединение: AT+CHTTPACT="mywebsite.com",80

Эта команда должна возвращать +CHTTPACT: REQUEST

6) Я всегда использую HTTP/1.1. Таким образом, запрос должен выглядеть так: request='GET /someRelativeUri HTTP/1.1\r\nHost: www.mywebsite.com\r\n\r\n'

7) Отправьте команду, нажав Ctrl+Z (0x1A)

sio.send (запрос .. string.char (0x1A))

8) Чтение ответа, время ожидания 30 секунд: response=sio.recv(30000)

Если все в порядке, то ответ должен содержать подстроку "+CHTTPACT: 0"

person Andrew Karpov    schedule 04.10.2014