美文网首页
作业_Day16

作业_Day16

作者: 龙神海王 | 来源:发表于2018-10-24 22:41 被阅读0次

第一题:
写一个客户端和服务器的套接字:
客户端连接服务器后展示界面:

===========================

  1. 需要图片
  2. 需要文字
  3. 通知结束
    ==========================
    请选择:

如果客户端选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)

相关文章

网友评论

      本文标题:作业_Day16

      本文链接:https://www.haomeiwen.com/subject/sgvxtqtx.html