CSDN学习社区 人生苦短,我学python之服务器如何返回一个文件内容到客户端

人生苦短,我学python之服务器如何返回一个文件内容到客户端

上一篇文章说了服务器如何给客户端发送一个字符串,这篇文章我们来说说,如何发送一个文章给客户端(浏览器)。写一个socket的server端#!/usr/bin/envpython#coding:utf-8importsocketdefhandle_request(client):buf=client.recv(1024)#client....

上一篇文章说了服务器如何给客户端发送一个字符串,这篇文章我们来说说,如何发送一个文章给客户端(浏览器)。

写一个socket的server端

#!/usr/bin/env python
# coding:utf-8
import socket
def handle_request(client):
    buf = client.recv(1024)
    # client.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding='utf-8'))
    # client.send(bytes("Hello, Seven",encoding='utf-8'))
    # 以二进制的方式打开文件
    file = open('index.html','rb')
    # 读取文件的所有内容
    data = file.read()
    file.close()
    # 把读取到的内容全部发送到客户端
    client.send(data)

def main():
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    sock.bind(('127.0.0.1', 8001))
    sock.listen(5)

    while True:
        connection, address = sock.accept()
        handle_request(connection)
        connection.close()
if __name__ == '__main__':
    main()

index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>Hello,Seven!</h1>
    <a href="http://www.jinlejia.com">走你</a>
    <table border="1">
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
        <tr>
            <td>1</td>
            <td>2</td>
            <td>3</td>
        </tr>
    </table>
</body>
</html>


转载于:https://blog.51cto.com/itzhongxin/1913069

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐

  • 浏览量 585
  • 收藏 0
  • 0

所有评论(0)

查看更多评论 
已为社区贡献4条内容