Python编程:socket实现简单的网站服务器

news/2024/5/20 12:06:50/文章来源:https://pengshiyu.blog.csdn.net/article/details/79293466

通过:127.0.0.1:8000 来访问

发送字符串


# 用socket实现一个简单的服务器,可以通过浏览器来访问import socketdef handle(conn):  # 请求处理函数data = conn.recv(1024)print(data)conn.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding="utf-8"))conn.send(bytes("<h1>hello world<h1>",encoding="utf-8"))def main():server = socket.socket()server.bind(("localhost", 8000))server.listen(5)print("服务启动")while True:conn, addr = server.accept()print(conn, addr)handle(conn)conn.close()if __name__ == "__main__":main()"""data
GET / HTTP/1.1
Host: 127.0.0.1:8000
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding: gzip, deflate, sdch, br
Accept-Language: zh-CN,zh;q=0.8
Cookie: csrftoken=u8AqdKAvfHiF0To5s8p3Dqxec2uSWldxnOOpOEbUVLPHTWVWDSUck4zFjNPxjV8V
"""

显示效果
这里写图片描述

发送html文件


# 改进版服务器,可以从文件中读取文件并发送给客户端
import socketdef handle(conn):buf = conn.recv(1024)conn.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding="utf-8"))f = open("index.html", "rb")data = f.read()f.close()conn.send(data)def main():server = socket.socket()server.bind(("localhost", 8000))server.listen(5)print("服务启动")while True:conn, addr = server.accept()print(conn, addr)handle(conn)conn.close()if __name__ == "__main__":main()

显示效果
这里写图片描述

嵌入变量


# 改进版服务器,可以从文件中读取文件并替换变量 发送给客户端
import socket
import timedef handle(conn):buf = conn.recv(1024)conn.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding="utf-8"))f = open("index.html", "r")data = f.read()f.close()now_time = time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())html = data.replace("{{time}}", now_time)conn.send(bytes(html, encoding="utf-8"))def main():server = socket.socket()server.bind(("localhost", 8000))server.listen(5)print("服务启动")while True:conn, addr = server.accept()print(conn, addr)handle(conn)conn.close()if __name__ == "__main__":main()

显示效果
这里写图片描述

刚刚的{{ time }} 被替换为了当前时间

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_751679.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

整合营销系统推荐乐云seo_整合营销是什么意思 整合营销的特点

【整合营销】整合营销是什么意思 整合营销的特点整合营销的特点①在整合营销传播中&#xff0c;消费者处于核心地位。②对消费者深刻全面地了解&#xff0c;是以建立资料库为基础的。③整合营销传播的核心工作是培养真正的"消费者价值"观&#xff0c;与那些最有价值的…

服务器知识网站,分享5个服务器的知识点

企业常常在租用服务器时面对一堆的服务器配置数据感到无所适从&#xff0c;配置中的数据是什么意思&#xff0c;能够为我的需求提供何种帮助&#xff0c;这都是企业在租用服务器时考虑的问题。今天以问答的方式为大家解读一下&#xff1a;1 双路等于双核么?答案:不是无论服务器…

我的家乡html网页设计,创作一个以“我的家乡”为主题的网站

任务流程第一步明确任务目标第二步明确任务内容第三步根据辅导资料完成相应学习第四步完成任务第五步复习(任务/课程)任务目标创作一个以“我的家乡”为主题的网站,首页命名为“index.html”&#xff0c;保存到网站根目录下&#xff0c;其他子页(至少5个)以对应内容拼音命名&am…

支持html5的视频网站吗,检测浏览器是否支持html5视频的代码

在http://www.w3school.com.cn学习html5的时候&#xff0c;看到一个检测您的浏览器是否支持 html5 视频的方法&#xff1a;运行效果&#xff1a;1.在editplus中运行2.在chrome浏览器中运行代码部分&#xff1a;复制代码代码如下:function checkvideo(){if(!!document.createele…

18个常用的网站性能测试工具

网站的加载速度是决定网站等级的重要因素&#xff0c;值得站长特别关注。原因很简单&#xff0c;没有人愿意为了打开一个网页而等老半天&#xff0c;换句话说&#xff0c;如果你的网站打开速度 很慢&#xff0c;将流失大量的访客&#xff0c;甚至出现多米诺效应的不良影响。在埋…

18个常用的网站性能测试工具

网站的加载速度是决定网站等级的重要因素&#xff0c;值得站长特别关注。原因很简单&#xff0c;没有人愿意为了打开一个网页而等老半天&#xff0c;换句话说&#xff0c;如果你的网站打开速度 很慢&#xff0c;将流失大量的访客&#xff0c;甚至出现多米诺效应的不良影响。在埋…

分享:ThinkPHP和Webpack前后端结合构建SEO多页应用的一个思路

有时候遇到的需求是这样的&#xff1a; 部分页面&#xff0c;如详情页&#xff0c;需要做SEO优化&#xff0c;而部分页面需要实现复杂的交互&#xff0c;如用户后台&#xff0c;可发布信息。 之前采用过一次&#xff0c;Nuxt.js 等前后端同构的方案。 优点就是一套js代码&…

最好用的临时邮箱网站

做为一个经常在网上瞎逛的人&#xff0c;就避免不了需要注册一些账号&#xff0c;有些小网站总是令人不放心的&#xff0c;所以我们总是会陷入纠结&#xff0c;注册吧&#xff0c;怕泄露个人隐私&#xff0c;不注册吧还总好奇里面的东西。现在不用纠结了&#xff01;一次性邮箱…

推荐一个临时邮箱生成网站,专门用于各种注册用途

很多时候我们访问某些论坛或者网站&#xff0c;需要注册一个用户才能使用完整功能&#xff0c;而现在用户注册除了手机外&#xff0c;大多数还是需要一个电子邮箱才行。 而我们注册这些论坛&#xff0c;可能注册完使用了网站的功能之后&#xff0c;以后就不会再用到了。如果使…

大型网站的灵魂——性能

前言 在前一篇随笔《大型网站系统架构的演化》中&#xff0c;介绍了大型网站的演化过程&#xff0c;期间穿插了一些技术和手段&#xff0c;我们可以从中看出一个大型网站的轮廓&#xff0c;但想要掌握设计开发维护大型网站的技术&#xff0c;需要我们一步一步去研究实践。所以我…

那些你可能需要的音乐聚合网站

我平常用网易云来听音乐 http://music.163.com/ &#xff0c;网易云除了歌好听&#xff0c;评论更有故事。之前已经写过网易云音乐了&#xff0c;有兴趣看看之前的文章那些你可能不知道的网易云音乐奇技淫巧可惜周杰伦的大部分歌曲网易没有版权&#xff0c;还好我保存了一份杰伦…

那些有意思的网站

最近微博上发现一个狗屁不通文章生成器&#xff0c;试了下&#xff0c;有点意思&#xff0c;接着又发现了不少类似有意思的网站&#xff0c;正好做个整理分享下。狗屁不通文章生成器写文章没有思路&#xff0c;来教你一本正经的胡说八道https://suulnnka.github.io/BullshitGen…

那些有趣的网站

之前分享过那些有意思的网站 &#xff0c;这里继续分享一波&#xff0c;也许你用得上。福利单词一边背单词一边看妹子的网站&#xff0c;用电脑打开&#xff0c;配合ctrlw 关闭新窗口&#xff0c;不知不觉就背了百来个词了 https://easychen.gitee.io/foxdict/工资计算器简单、…

那些好玩的生成器网站

2019 年时间不多了&#xff0c;还有6天就彻底告别2019进入2020了。这张图片通过网站 https://c.yonghuigj.com/cx3/2088/ 生成的&#xff0c;是不很应景&#xff0c;下面整理几个好玩的生成器网站。Logo 生成器一个简单的 Logo 生成器&#xff0c;可以让你快速制作 Pornhub、Yo…

那些有意思的网站彩蛋

苏生不惑第 88 篇原创文章很多电影会在结尾留下彩蛋&#xff0c;比如电影《无问西东》片尾的一段七分钟读懂中国大师的彩蛋&#xff0c;还有去年周杰伦新歌《说好不哭》&#xff0c;知乎网友挖出的一系列彩蛋 。在一些网站和app里也会隐藏一些彩蛋&#xff0c;第一次见的时候还…

那些有意思的网站(二)

苏生不惑第 98 篇原创文章之前写过 那些有意思的网站 和 那些有趣的网站 &#xff0c;这里继续分享那些有意思的网站。苹果档案这是一个苹果公司档案网站&#xff08;非官方&#xff09;&#xff0c;收集了苹果公司从成立以来的所有广告、海报和宣传材料 https://www.applearch…

分析你的浏览器历史记录,看看你喜欢访问哪些网站

苏生不惑第 103 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;及时看最新文章。浏览器都有访问历史记录&#xff0c;Chrome 浏览器点击右上角。进入 chrome://history/ 可以看到你访问过的所有网页。除了本地记录&#xff0c;谷歌还帮你保存在云端&#xff0c;前提是你…

那些好玩的生成器网站(二)

苏生不惑第105 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;第一时间看最新文章。之前写过 那些好玩的生成器网站 &#xff0c;这里继续整理些好玩的生成器网站。生成小瓶子最近微博上的话题 #小瓶子涂鸦大赛#很火。小瓶子的状态代表你对事物喜好的程度&#xff0c;喜…

如何搞定某些网站不让复制文字

苏生不惑第121 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;第一时间看最新文章。浏览某些网站的时候&#xff0c;看到一段不错的话想复制下来&#xff0c;结果竟然要登录&#xff0c;甚至你都选择不了文字&#xff0c;因为被禁用了&#xff0c;下面就分享几种解决方…

那些好玩的网站

苏生不惑第122 篇原创文章&#xff0c;将本公众号设为星标&#xff0c;第一时间看最新文章。之前分享过那些有意思的网站那些有意思的网站&#xff08;二&#xff09;那些好玩的生成器网站那些好玩的生成器网站&#xff08;二&#xff09;这里继续分享那些有好玩的网站。色差辨…