#*************************************************************************************************
import socket #导入socket库
HOST = '192.168.9.230' #运行mjpeg-streamer的开发板的ip地址
PORT = 8080 #端口为8080
ADDR = (HOST,PORT) #地址和端口拼接
#*************************************************************************************************
client = socket.socket() #创建socket套接字
ret = client.connect(ADDR) #状态位,判定是否连接成功
request_url = "GET /?action=snapshot HTTP/1.1\r\nHost:192.168.9.230\r\nConnection:Close\r\n\r\n"
#get请求格式,HTTP版本为1.1,开发板IP地址为192.168.9.230
if(ret == -1): #连接失败,退出程序
print("connet error!")
exit(-1)
else: #连接成功
print("connect success!")
#**************************************************************************************************
client.send(request_url.encode()) #发送socket请求,开始接收数据
response = b'' #定义接收变量
chunk = client.recv(1024) #第一个recv返回信息,跟图片无关
chunk = client.recv(1024) #这个信息开始跟图片有关系,放到接收变量里
while chunk: #判断是否还有信息
response += chunk #还有信息都写进接受变量
chunk = client.recv(1024) #继续接收
#**************************************************************************************************
print("start write into files") #开始把response中的数据写入文件
file = open('./savepicture.jpg','wb') #以二进制覆盖方式,写入savepicture.jpg
file.write(response) #写response到savepicture.jpg
file.close() #一定要记得关闭文件,否则会看到空文件
print("end write") #结束写
client.close() #关闭socket
print("end connect") #提示断开连接
#***************************************************************************************************