首页 > 编程语言 >Python简单HTTP Server

Python简单HTTP Server

时间:2023-07-20 12:11:25浏览次数:38  
标签:HTTP Python self Server headers length print data


Python简单HTTP Server


from http.server import BaseHTTPRequestHandler, HTTPServer

class MyHttpRequestHandler(BaseHTTPRequestHandler):
  
  def do_POST(self):
    print("path: " + self.path)
    print("method: " + self.command)
    print(self.headers)
    length = int(self.headers['content-length'])
    print("-----------------------data------------------")
    datas = self.rfile.read(length)
    print(datas)
    print("-----------------------data------------------\n")
    self.send_response(200)  
    self.send_header("Content-type", "text/html; charset=UTF-8")        
    self.end_headers()  

  def do_GET(self):
    print("path: " + self.path)
    print("method: " + self.command)
    # 响应头
    headers = """HTTP/1.1 200 OK
Server: YouFather
Accept-Ranges: bytes
Content-Length: {data-length}
Vary: Accept-Encoding
Content-Type: text/html
""".replace('\n', '\r\n') + '\r\n'
    
    # 响应数据
    data = "<a href='http://www.baidu.com'>百度</a>".encode('gbk')

    # 设置一下这个Content-Length参数,告诉客户端数据的长度。
    headers = headers.format_map({'data-length': len(data)})

    # 写入响应头和数据
    # 这里的wfile是HTTPServer的基类TCPServer为我们准备的一个写入对象。
    # wfile = socket.make_file('wb')
    # 和open(filename,'w')是同一类型。
    self.wfile.write(headers.encode())
    self.wfile.write(data)


ts = HTTPServer(('0.0.0.0', 8899), MyHttpRequestHandler)
print("-----------------------start server------------------")
ts.serve_forever()


-------------

对象存贮的WebHook

https://blog.csdn.net/u012279452/article/details/92852698

image

标签:HTTP,Python,self,Server,headers,length,print,data
From: https://www.cnblogs.com/gispathfinder/p/17567973.html

相关文章

  • HTTPS chatgpt
    对于HTTPS协议的底层实现,需要同时使用TCP和SSL/TLS协议来提供安全的通信。TCP协议用于建立可靠的网络连接,而SSL/TLS则用于对数据进行加密和身份验证。在C++中,你可以使用OpenSSL库来实现HTTPS的底层支持。OpenSSL提供了丰富的功能和API,可以用于处理SSL/TLS连接......
  • 用Python脚本自动采集金融网站当天发布的免费报告
    大家好,我是皮皮。一、前言前几天在Python群【林生】问了一个Python数据采集的问题,需求如下:想写一个脚本能自动采集下载当天发布的这个页面的这几个免费报告,能保存成这个标题的pdf文件,网站是手机号注册就能下载这些文件的,就是在我注册登录状态下,能采集下载。二、实现过程一开......
  • Mac/Ubuntu18.04使用privoxy将socks转为https、http和ftp代理
    转载:https://blog.csdn.net/gongchenyu/article/details/80482981privoxy可以转换socks代理1.将socks代理地址设置为127.0.0.1:1080。2.安装privoxyUbuntu$sudoaptinstallprivoxy1Mac$brewinstallprivoxy13.更改provoxy配置Ubuntu$sudovi/etc/privoxy/config1Mac$......
  • [学习笔记]SQL server完全备份指南
    目录方式一,使用SQLServerManagementStudio准备工作收缩数据库移动数据库数据库备份还原数据库方式二,使用命令行工具准备工作收缩数据库移动数据库备份数据库还原数据库本文将介绍如何在日常项目中,对SQLserver数据库做备份和还原工作,SQLserver的备份......
  • python inotify
    PythonInotify什么是Inotify?Inotify是Linux系统中的一种文件系统事件监控机制,可以用于监视文件或目录的变化。当监控的文件或目录发生变化时,例如创建、修改、删除等操作,Inotify可以即时通知相关的应用程序进行处理。Python中的Inotify在Python中,我们可以使用第三方库......
  • python import上级目录的py文件
    Python中导入上级目录的py文件在Python中,当我们编写代码时,有时候会遇到需要导入上级目录下的py文件的情况。这可能是因为我们的项目结构需要将相关的代码模块分别放在不同的目录中,或者是为了重用和组织代码。在本文中,我们将介绍几种方法来实现在Python中导入上级目录的py文件的方......
  • python image库
    使用PythonImage库简介PythonImage库(PIL)是一个强大的图像处理库,提供了许多功能,包括图像的打开、保存、调整大小、裁剪、旋转、滤镜等。在本文中,我将教你如何使用PythonImage库来处理图像。整体流程下面是使用PythonImage库处理图像的整体流程:步骤描述1导入PIL库......
  • python if 与或非
    Python中的if与或非作为一名经验丰富的开发者,我很乐意帮助你理解和实现Python中的if与或非。在本文中,我将向你介绍整个过程,并提供每一步所需的代码示例和注释。流程概述在开始编写代码之前,我们先来了解一下整个实现if与或非的流程。下面是一个简单的表格,展示了实现if与或非的步......
  • python if 不为空
    Python中的if语句和非空性判断Python是一种简单而又强大的编程语言,拥有丰富的语法和灵活的表达式。条件语句(if语句)是Python中最常用的控制结构之一。在编写程序时,经常需要根据某个变量或表达式的值来决定程序的执行流程。本文将重点介绍如何使用条件语句在Python中对变量的非空性......
  • python idle怎么下载模块
    项目方案:使用PythonIDLE下载模块1.简介Python是一种简单易学、功能强大的编程语言,有着广泛的应用领域。PythonIDLE是Python自带的一个集成开发环境(IntegratedDevelopmentEnvironment,简称IDE),它提供了一个交互式的PythonShell,方便用户进行代码编写、调试和测试。在Python......