【Python】常用模块:xmlrpc
1、xmlrpc是什么xmlrpc 是一套基于 HTTPXML 格式的轻量级远程过程调用协议客户端调用本地函数的写法实际去调用另一台服务器上的函数数据全部用 XML 封装传输可以实现跨语言通信2、客户端和服务端Python 内置模块包含客户端和服务端xmlrpc.client 客户端例如ServerProxyxmlrpc.server 服务端例如SimpleXMLRPCServer2.1 服务端示例以 SimpleXMLRPCServer 为例运行本地 TCP HTTP 服务注册普通函数、实例方法供客户端远程调用fromxmlrpc.serverimportSimpleXMLRPCServerdefadd(a,b):returnabif__name____main__:serverSimpleXMLRPCServer((0.0.0.0,8080),allow_noneTrue)server.register_function(add,add)server.serve_forever()其它内置服务DocXMLRPCServer继承 SimpleXMLRPCServer 额外自带自动文档页面浏览器访问端口可以直接查看所有可调用接口、参数说明调试非常方便MultiPathXMLRPCServer支持多路径2.2 客户端示例以 ServerProxy 为例连接远程服务器调用远程服务器中注册的方法fromxmlrpc.clientimportServerProxy proxyServerProxy(http://127.0.0.1:8080,allow_noneTrue)resproxy.add(10,20)print(1020 ,res)3、自定义传输层3.1 介绍客户端 ServerProxy 默认使用Python内置的传输层 Transport默认 Transport 功能有限无法自定义超时、请求头、HTTPS、日志、重试逻辑自定义 Transport 可以实现哪些功能设置请求超时添加自定义 HTTP Header请求前后加日志、异常重试适配 HTTPS走网络代理访问外网 RPC 服务3.2 示例自定义传输层 LaoerTransport 需要先继承 Transport一般重新实现make_connectionfromxmlrpc.clientimportTransport,ServerProxyimporthttp.clientclassLaoerTransport(Transport):def__init__(self,timeout3):super().__init__()self.timeouttimeoutdefmake_connection(self,host):connhttp.client.HTTPConnection(host,timeoutself.timeout)returnconnif__name____main__:transLaoerTransport(timeout2)proxyServerProxy(http://127.0.0.1:8080,transporttrans,allow_noneTrue)print(proxy.add(5,6))3.3 https传输如果连接https安全服务器可以使用Python内置的SafeTransportfromxmlrpc.clientimportSafeTransport proxyServerProxy(https://xxx:port,transportSafeTransport())3.4 Fault 异常处理服务端内部出错抛出异常时客户端可以捕获该异常获取错误码和错误信息try:proxy.test()exceptFaultase:print(e.faultCode,e.faultString)3.5 Binary 二进制传输传输二进制数据比如图片、视频流、文件等需要使用 Binary 包装一层fromxmlrpc.clientimportBinary datab123456proxy.send_file(Binary(data))

相关新闻

FairyGUI深度解析:Unity复杂UI开发的高效解决方案与性能优化

FairyGUI深度解析:Unity复杂UI开发的高效解决方案与性能优化

1. 项目概述:为什么是Fairy GUI? 如果你在Unity项目里做过UI,尤其是那种界面复杂、动效繁多、需要频繁迭代的项目,你大概率经历过UGUI或NGUI带来的“甜蜜的烦恼”。UGUI的组件化思路清晰,但面对大量动态生成、复杂嵌套…

2026/7/27 7:33:27 阅读更多 →
G-Helper:释放华硕笔记本潜能的轻量级终极控制方案

G-Helper:释放华硕笔记本潜能的轻量级终极控制方案

G-Helper:释放华硕笔记本潜能的轻量级终极控制方案 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivobook, Zenbook, Exper…

2026/7/27 7:32:26 阅读更多 →
AI Agent在数据库运维中的实践:从监控告警到自动化操作

AI Agent在数据库运维中的实践:从监控告警到自动化操作

1. 先搞清楚 AI Agent 在数据库运维里到底能做什么数据库运维的苦,干过的人都懂。半夜告警、性能抖动、慢查询分析、备份恢复、容量规划……这些事琐碎、重复,还要求极高的准确性和责任心。现在很多人在聊 AI Agent,听起来很酷,但…

2026/7/27 7:32:26 阅读更多 →

最新新闻

Arch Linux + Wine + i3wm:搭建《重武器老鼠》复古游戏环境

Arch Linux + Wine + i3wm:搭建《重武器老鼠》复古游戏环境

概述《重武器老鼠》(Mighty Rodent,也有民间称为重装老鼠)是一款 2006 年发布的街机风格 2D 射击游戏,原为 Windows 平台 RAR 自解压包。本文记录在 Arch Linux i3wm AMD 双显卡笔记本 上通过 Wine 完整运行该游戏的实战流程&am…

2026/7/27 7:39:30 阅读更多 →
深入解析TI AM1705 ARM9 SoC:架构、外设与嵌入式开发实战

深入解析TI AM1705 ARM9 SoC:架构、外设与嵌入式开发实战

1. 项目概述与核心价值在嵌入式开发领域,选对一颗主控芯片往往意味着项目成功了一半。今天想和大家深入聊聊德州仪器(TI)的AM1705这颗ARM微处理器。它不是市场上最新、性能最强的芯片,但在工业控制、便携式数据终端、智能家居网关…

2026/7/27 7:39:30 阅读更多 →
校园帮系统开题答辩全流程与实战技巧

校园帮系统开题答辩全流程与实战技巧

1. 项目概述:校园帮系统开题答辩全流程解析校园帮系统作为面向高校师生的综合性服务平台,其开题答辩是项目正式启动前的关键环节。我在参与多个校园信息化项目评审过程中发现,80%的团队在开题阶段都存在需求分析不清晰、技术路线论证不足等共…

2026/7/27 7:39:30 阅读更多 →
AM1705嵌入式硬件实战:USB电气规范、PSC功耗管理与PRU内存映射解析

AM1705嵌入式硬件实战:USB电气规范、PSC功耗管理与PRU内存映射解析

1. 项目概述:从芯片手册到实战设计拿到一份动辄几百页的芯片技术手册,比如德州仪器(TI)的AM1705数据手册,很多工程师的第一反应可能是头疼。手册里充斥着电气参数表、寄存器地址和状态机描述,看起来冰冷而抽…

2026/7/27 7:39:30 阅读更多 →
TMS320C5504命名规则、热阻分析与硬件设计实战指南

TMS320C5504命名规则、热阻分析与硬件设计实战指南

1. 从一串字符到一颗芯片:TMS320C5504命名规则深度拆解当你拿到一颗德州仪器(TI)的DSP芯片,比如TMS320C5504AZCH15,这一长串字符是不是感觉像天书?别急,这串“密码”其实是TI官方为你准备的一份…

2026/7/27 7:39:30 阅读更多 →
找人做AI项目,你花的钱到底买了什么?答案不是代码

找人做AI项目,你花的钱到底买了什么?答案不是代码

先把答案放桌上:你花的钱里,代码只值三成;剩下七成,买的是"确定性"——乙方把"AI到底行不行"这个风险,从你头上挪到他自己头上。这就是同样的需求报价能差10倍的真正原因:差的通常不是…

2026/7/27 7:38:29 阅读更多 →

日新闻

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于SpringBoot的社区智能垃圾管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →
SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

SPI实战指南:从时钟模式到寄存器配置,解决嵌入式通信难题

1. 项目概述:从寄存器手册到实战指南 如果你手头有一份类似德州仪器(TI)TMS320x240xA系列DSP的SPI模块技术手册,看着里面密密麻麻的寄存器位定义、时序图和公式,是不是感觉头大?这份资料虽然权威&#xff0…

2026/7/27 0:00:54 阅读更多 →
【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

【JAVA毕设源码分享】基于springboot的水果购物管理系统的设计与实现(程序+文档+代码讲解+一条龙定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

2026/7/27 0:00:54 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/27 4:33:59 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/27 6:31:56 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/27 4:01:12 阅读更多 →

月新闻