首页 > 编程语言 >python socket 网页服务器

python socket 网页服务器

时间:2022-10-26 09:11:06浏览次数:42  
标签:__ 网页 socket python nSec time data conn

参考来源:https://blog.csdn.net/qq_40828914/article/details/120895412

 

# 用socket实现一个简单的服务器,可以通过浏览器来访问
import socket,time


def handle(conn): # 请求处理函数
data = conn.recv(1024)
print('data', data)
print('result', data.decode().split(' '))
conn.send(bytes("HTTP/1.1 200 OK\r\n\r\n",encoding="utf-8"))
data = "<h1>hello taobao<h1><br><h2>time:{{time}}</h2>"
conn.send(bytes(data,encoding="utf-8"))

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()
'''
data b'
GET / HTTP/1.1\r\n
Host: localhost:8000\r\n
Connection: keep-alive\r\n
Cache-Control: max-age=0\r\n
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="101", "Google Chrome";v="101"\r\n
sec-ch-ua-mobile: ?0\r\n
sec-ch-ua-platform: "Windows"\r\n
Upgrade-Insecure-Requests: 1\r\n
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36\r\n
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9\r\n
Sec-Fetch-Site: cross-site\r\n
Sec-Fetch-Mode: navigate\r\n
Sec-Fetch-User: ?1\r\n
Sec-Fetch-Dest: document\r\n
Accept-Encoding: gzip, deflate, br\r\n
Accept-Language: zh-CN,zh;q=0.9\r\n\r\n'
'''

标签:__,网页,socket,python,nSec,time,data,conn
From: https://www.cnblogs.com/lld76/p/16827110.html

相关文章

  • Socket
    套接字(socket)是一个抽象层,应用程序可以通过它发送或接收数据,可对其进行像对文件一样的打开、读写和关闭等操作。套接字允许应用程序将I/O插入到网络中,并与网络中的其他应......
  • flash动画设计并发布、嵌入到网页
    【创意内容】Flash动画设计,二维动画自己选择了动画主题,有三个板块:bubbles动画、蝴蝶飞动画、全球游线图动画,都是自己做的,使用了场景运用动画、图片的滚动、形状遮罩等功能......
  • python制作django批量创建数据离线脚本
    scripts/init_news.pyimportosimportsysimportdjango#准备base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))sys.path.append(base_dir......
  • python类
    概念表示具有相同属性和方法的对象的集合,在使用类时,先声明在创建类实例,通过访问类实例访问类中的属性方法元类python中一切皆为对象,所有对象都是通过实例化或者调用......
  • python获取当前运行函数名
     两种方式:#!/usr/bin/envpython3#coding:utf-8importsys,inspectdeftest_a():print('funcname:',sys._getframe().f_code.co_name)deftest_b():print......
  • 全球名校AI课程库(23)| Harvard哈佛 · 基于Python/JavaScript的Web编程课程『Web Progr
    ......
  • python基础re模块与正则
    正则表达式前戏正则表达式是用来匹配与查找字符串的,从网上爬取数据自然或多或少会用到正则表达式,python的正则表达式要先引入re模块,正则表达式以r引导案例:手机号校验......
  • 【Python】监控笔记本电池状态
    pipinstallpsutilif__name__=='__main__':importpsutilbattery=psutil.sensors_battery()plugged=battery.power_pluggedpercent=str(......
  • 学习python-Day79
    昨日内容回顾前端发展历史vue react谷歌flutter,Dart语言uni-app:小公司vue:3.x2.x3.x====>ts2.x====>jsvue渐进式MVVMM层:model,数据层,jsV层:view,视......
  • Python: Strategy Pattern
     GeovinDuStrategy.py#策略模式StrategyPatternTypesoftradingstrategies:classRiskyTradingStrategy(object):defMakeTrades(self):print("......