第一题:
写一个客户端和服务器的套接字:
客户端连接服务器后展示界面:
===========================
- 需要图片
- 需要文字
- 通知结束
==========================
请选择:
如果客户端选1,服务器给客户端发送一张图片,客户端保存图片到本地
如果客户端选2, 服务器输入一段文字发送给客户端, 客户端将文字保存在一个message.txt文件中
如果客户端选3,通知服务器关闭连接,并且客户端结束
服务器
import socket
server = socket.socket()
server.bind(('10.7.156.65',7878))
server.listen(512)
print('开始服务')
while True:
conversation,addr = server.accept()
print(addr)
while True:
message_re = conversation.recv(1024).decode('utf-8')
print('客户端(%s):%s' % (addr[0][-2:],message_re))
if message_re == '1':
with open('./files/aaa.jpg','rb') as f:
content = f.read()
conversation.send(content)
conversation.close()
elif message_re == '2':
message = '生命之所以有趣,皆因我们虽失去很多东西,但亦得回很多,有欢欣雀跃的时刻,亦有神伤魂断的日子。这世上还有什么比生命本身更动人的事,而生命之所以有意义,就是动人的历程与经验。成功失败并不重要,其中奋斗的过程才是最迷人之处。'
message_0b = bytes(message,encoding='utf-8')
conversation.send(message_0b)
elif message_re == '3':
print('关闭连接')
break
else:
print('输入错误请重新输入')
continue
客户端
import function
import socket
client = socket.socket()
client.connect(('10.7.156.65',7878))
while True:
function.show_cover()
message = input('请选择输入1-3')
client.send(message.encode('utf-8'))
re_data = client.recv(1024)
if message == '1':
data = bytes()
while re_data:
data += re_data
re_data = client.recv(1024)
with open('./files/tu.jpg','wb') as f:
f.write(data)
print('接收完毕')
elif message == '2':
with open('./files/message.txt','w') as f:
f.write(re_data.decode('utf-8'))
else:
break
function
def show_cover():
print('===========================')
print('1.需要图片')
print('2.需要文字')
print('3.通知结束')
print('===========================')
第二题:
请求接口:[图片上传失败...(image-ea3a94-1540375294691)]
https://www.apiopen.top/satinApi?type=1&page=1 获取网络数据。
将内容中所有的name和text对应的值取出,并且保存到一个json文件中,保存的格式:
[{“name”:”张三”, “text”:”哈哈,让我们一起自由的飞翔”}, {“name”:”喒你家玻璃”, “text”:”截图暂停,截到的将会是对你爱情的预言三词!”}]
import requests
import json
url = 'https://www.apiopen.top/satinApi?type=1&page=1'
response = requests.get(url)
data_text = response.text
text = json.loads(data_text)
print(text)
res = []
for x in text['data']:
res.append({'name':x['name'],'text':x['text']})
print(res)
with open('./files/data.json','w') as f:
json.dump(res,f)