美文网首页
网络编程作业

网络编程作业

作者: 蘑菇plus | 来源:发表于2018-08-08 19:07 被阅读0次

编写一个能够持续聊天的服务器和客户端,当客户端发送“拜拜”的时候,断开服务器和客户端的连接,发送一个网址,能够下载网址内容,当内容是图片是,能够将图片保存到本地

server.py

import socket
import requests
from requests import request
import re
if __name__ == '__main__':
    server=socket.socket()
    server.bind(('10.7.181.70',8080))
    server.listen(512)
    #accept()会阻塞线程,当有客户端连接时,开始执行
    while True:
        conversation,address=server.accept()
        while True:
            message=input('我:')
            #给客户端发送消息
            #字符串转换成二进制
            conversation.send(message.encode())
            #接收客户端的信息
            message_re=conversation.recv(1024).decode(encoding='utf-8')
            #如果是拜拜
            if message_re=='拜拜':
                conversation.close()
                break
            #判断是否是网站
            elif re.fullmatch(r'http://(\w\.){2}(\w+)/[\w?=&%@/\.]+ ',message_re):
                print('是网站')
                match=re.search(r'\.png|\.jpg|\.gif|\.jpeg|',message_re)
                #如果是图片
                if match:
                    #返回的是服务器的响应
                    response=requests.request('GET',message_re)

                    #获取服务器返回的响应头
                    print(response.headers)
                    #获取响应体的二进制
                    content=response.content
                    with open('./image'+match.group(),'wb')as f:
                        f.write(content)
                else:
                    response=requests.request('GET',message_re)
                    txt=response.text
                    with open('./text','a',encoding='utf-8')as f:
                        f.write(txt)
            else:
                print(message_re)

client.py

import socket

if __name__ == '__main__':
    client = socket.socket()
    client.connect(('10.7.181.117', 8050))
    while True:
        # 接收服务器返回的信息
        re_message = client.recv(1024).decode(encoding='utf-8')
        print(re_message)

        # 发送消息
        message = input('>>>')
        # message = '好吧abc'
        client.send(message.encode())

相关文章

  • 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数据只能单次保存,多次发送会更新为最新发送内容。图片发...

  • day18 网络编程作业

    客户端和服务器聊天,可以一直聊天,直到一方发送’拜拜’。然后就可以和下一个人一直聊 2.客户端给服务器发送请求,请...

网友评论

      本文标题:网络编程作业

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