美文网首页
2018-10-24day19网络编程作业

2018-10-24day19网络编程作业

作者: MW演员 | 来源:发表于2018-10-24 23:23 被阅读0次

作业:

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

  1. 需要图片
  2. 需要文字
  3. 通知结束
    ==========================
    请选择:
    如果客户端选1, 服务器给客户端发送一张图片,客户端保存图片到本地
    如果客户端选2, 服务器输入一段文字发送给客户端, 客户端将文字保存在一个message.txt文件中
    如果客户端选3,通知服务器关闭连接,并且客户端结束
服务器端
import socket

# 创建服务器
server = socket.socket()

# 绑定ip和端口号
server.bind(('10.10.10.108', 8081))

# 监听端口
server.listen(100)
print('开始监听')

while True:
    # 等待连接
    print('等待连接')
    conversation, addr = server.accept()
    print('%s 连接' % addr[0])
    with open('./files/main_page.txt', 'r', encoding='utf-8') as f:
        content = f.read()
        # 客户端请求 给客户端发送主页消息
        conversation.send(content.encode('utf-8'))

    while True:
        value = conversation.recv(1024)
        value = value.decode('utf-8')
        if value == '3':
            print('回话结束')
            conversation.close()
            continue
        elif value == '1':
            with open('./files/new.jpg', 'rb') as f:
                data_bytes = f.read()
                conversation.send(data_bytes)
                conversation.close()
                print('图片已发送')
                continue
        elif value == '2':
            message = '你好吗?'
            conversation.send(message.encode('utf-8'))
            continue
客户端
import socket

# 创建客户端
client = socket.socket()

# 连接服务器
client.connect(('10.10.10.108', 8081))

main_page = client.recv(2048)
# 显示消息
main_page = main_page.decode('utf-8')
# print(main_page)

# 接收消息
while True:
    print(main_page)
    value = input('请选择:')
    if value == '3':
        client.send('3'.encode('utf-8'))
        client.close()
        break
        # message_re = client.recv(1024)
    elif value == '1':
        client.send('1'.encode('utf-8'))
        message_re = client.recv(1024)
        data = bytes()
        i = 1
        while message_re:
            i += 1
            # print('接收图片')
            data += message_re
            message_re = client.recv(1024)
        with open('./re_file/re_file.jpg', 'wb') as f:
            f.write(data)
            print('图片接收完成')

    elif value == '2':
        client.send('2'.encode('utf-8'))
        message_re = client.recv(1024)
        message_re = message_re.decode('utf-8')
        with open('./re_file/message.txt', 'w', encoding='utf-8') as f:
            f.write(message_re)
            print('文字接收完成')
        continue
    else:
        print('输入错误,请重新输入!')
        continue

1.png

第二题:

请求接口:https://www.apiopen.top/satinApi?type=1&page=1 获取网络数据。
将内容中所有的name和text对应的值取出,并且保存到一个json文件中,保存的格式:
[{“name”:”张三”, “text”:”哈哈,让我们一起自由的飞翔”}, {“name”:”喒你家玻璃”, “text”:”截图暂停,截到的将会是对你爱情的预言三词!”}]

import requests
import json
import re

# 请求数据
url = 'https://www.apiopen.top/satinApi?type=1&page=1'

result = requests.get(url)

contents = result.text
re_dict = r'({.*?})+?'
results = re.findall(r'\[.*\]', contents)

content1 = results[0][1:-1]
print(content1)
res = re.findall(re_dict, content1)
print(len(res))
content = []
for str1 in res:
    name = re.findall(r'"name":".+?"', str1)
    texts = re.findall(r'"text":".+?"', str1)
    print(name, texts)
    content.append({name[0]:texts[0]})

print(content)
with open('./files/data.json', 'w', encoding='utf-8') as f:
    json.dump(content, f)
2018-10-24_232310.png

相关文章

  • 2018-10-24day19网络编程作业

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

  • DAY52

    网络编程作业终于搞定了@_@

  • 网络编程作业

    编写一个能够持续聊天的服务器和客户端,当客户端发送“拜拜”的时候,断开服务器和客户端的连接,发送一个网址,能够下载...

  • 网络编程作业

    1.### 写一个两个人的聊天系统,可以实现双向聊天功能。2.###如果发送的是普通的文字就直接打印,如果发送的文...

  • 网络编程作业

    写一个两个人的聊天系统,可以实现双向聊天功能。如果发送的是普通的文字就直接打印,如果发送的文字是’拜拜’就关闭连接...

  • 2018-10-24day19网络基础和网络编程基础

    注意:控制次数后面加?表示次数尽可能可能少匹配(非贪婪匹配) 正则转意:想让特殊功能的符号表示它本身,就可以通过\...

  • s9python网络编程

    python之路——网络编程计算机网络ftp作业 网络编程 mac地址 arp协议:通过ip地址找mac地址 ip...

  • DAY60

    今天继续学习了僵尸进程,感觉网络编程的作业好难写

  • Android 网络编程 目录

    Android 网络编程 目录 Android 网络编程1 Http协议Android 网络编程2 Okhttp缓...

  • Linux网络编程篇之ICMP协议分析及ping程序实现

    Linux网络编程系列: Linux网络编程篇之Socket编程预备知识 Linux网络编程篇之TCP协议分析及聊...

网友评论

      本文标题:2018-10-24day19网络编程作业

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