使用lua脚本的HTTP请求

时间:2014-02-27 08:21:51

标签: http lua request at-command

我正在尝试通过3G使用SIM5218调制解调器发送HTTP GET操作。 我已经设法在使用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,但我不知道如何。

提前致谢。

1 个答案:

答案 0 :(得分:0)

也许这会有所帮助:

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 \ n主持人:www.mywebsite.com \ r \ n \ r \ n'

7)按Ctrl + Z(0x1A)

发送命令

sio.send(request .. string.char(0x1A))

8)读取响应,超时为30秒:响应= sio.recv(30000)

如果一切正常,则响应应包含子串“+ CHTTPACT:0”