美文网首页python从入门到放弃
2018-10-24python网络编程作业

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

作者: 楠木cral | 来源:发表于2018-10-24 21:18 被阅读0次

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

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

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

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

服务端代码

import socket

sever = socket.socket()

sever.bind(('10.7.156.142', 8090))

sever.listen(100)

while True:
    conversaton, addr = sever.accept()

    while True:
        message_re = conversaton.recv(1024).decode('utf-8')
        if message_re == '1':
            with open('./luffy.png', 'br') as f:
                content = f.read()
                conversaton.send(content)
                conversaton.close()       # 传输完成后要记得关闭连接,不然客户端无法接收完成

        if message_re == '2':
            message = input("请输入文字:")
            conversaton.send(message.encode('utf-8'))

        if message_re == '3':
            conversaton.close()

客户端代码:

import socket

client = socket.socket()

client.connect(('10.7.156.142', 8090))

while True:
    print('****************************************')
    print('**********1.图片交易********************')
    print('**********2.文字交易********************')
    print('**********3.退出交易********************')
    print('****************************************')

    message_re = input('请输入你的选择:')
    client.send(message_re.encode('utf-8'))
    if message_re == '3':
        break

    re_data = client.recv(1024)

    if message_re == '1':
        data = bytes()
        while re_data:
            # print(message_re)
            data += re_data  # 将每次获取到的数据叠加
            print('接收到数据')
            re_data = client.recv(1024)

        with open('./new.jpg', 'bw') as f:
            f.write(data)
        print('图片接收完成')

    if message_re == '2':
        with open('./message.txt', 'bw') as f:
            f.write(re_data)
        print('服务端:', re_data.decode('utf-8'))
        print('文本交易完成!')

二、第二题:
请求接口:
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'
response = requests.get(url, {'type': 1, 'page': 1})

with open('./data_json_new.json') as f1:
    data_json_new = json.load(f1)

data_json = response.json()
for index in range(len(data_json['data'])):
   # print(data_json['data'][index]['name'], data_json['data'][index]['text'])
    data_json_new.append({'name': data_json['data'][index]['name'], 'text': data_json['data'][index]['text']})

with open('./data_json_new.json', 'w', encoding='utf-8') as f2:
    json.dump(data_json_new, f2)

print(data_json_new)

相关文章

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

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

  • DAY52

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

  • 网络编程作业

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

  • 网络编程作业

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

  • 网络编程作业

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

  • 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协议分析及聊...

  • Day16作业-网络编程

    服务器 客户端 功能总结:能实现url和普通文本发送,url数据只能单次保存,多次发送会更新为最新发送内容。图片发...

网友评论

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

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