(求助)为什么设置python代理后显示的IP地址确是另外的IP

python代码:
from urllib import request

handler=request.ProxyHandler({‘http’:‘113.79.75.104:9797’})

#创建opener
opener = request.build_opener(handler)
url=‘https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=IP’

headers={‘User-Agent’:‘Mozilla/5.0 (Windows NT 6.1; rv:2.0.1) G’
‘ecko/20100101 Firefox/4.0.1’

     }

request1=request.Request(url=url,headers=headers)

response=opener.open(request1)

with open(‘spider_test.html’,‘wb’) as f:
f.write(response.read())

如图
在这里插入图片描述

### IP广播系统服务器端软件 #### 一、IP广播系统的概述 IP网络广播系统是一种利用现有计算机网络作为传输媒介,实现高质量音频信号的数字化传送和管理的技术体系。该系统能够完成定时打铃、背景音乐播放以及考试期间英语听力的播放等多种功能,并支持与终端设备之间的双向对讲、远程呼叫等功能[^1]。 #### 二、服务器端软件的功能需求分析 对于一个完整的IP广播系统而言,服务器端扮演着至关重要的角色。它仅负责管理和调度整个网络中的各个节点,还需要具备如下特性: - **自动配置能力**:为了简化部署流程并提高用户体验度,理想的方案是在局域网内部署一套机制使得服务器可以自动向客户端广播自身的IP地址,而后者则能够在接收到消息之后自动建立连接而必手动设置任何参数[^4]。 - **资源分发服务**:考虑到实际应用场景中可能存在大量并发请求的情况(比如全校范围内的上课铃声同步),因此需要设计高效的多媒体流媒体分发算法来保即使在网络负载较高的情况下也能保持稳定的服务质量。 - **权限控制模块**:鉴于同类型的用户可能拥有一样的操作权限——例如管理员有权编辑节目列表而普通教师仅能执行简单的点播动作——故而在开发过程中应当充分考虑如何合理划分各类用户的访问级别以保障系统的安全性[^3]。 - **状态监控界面**:提供直观易懂的操作面板供管理人员查看当前在线设备的状态信息(如是否正常工作)、监听正在播出的内容片段或是触发特定事件(像一键求助响应)等实用工具。 #### 三、具体实施方案建议 针对上述提到的各项要求,这里给出一种可行的设计思路: ##### (一)采用成熟的中间件平台搭建基础架构 可以选择诸如BEA WebLogic Server这样的商用产品作为底层支撑框架,因为这类平台通常集成了丰富的组件库用于快速构建复杂的企业级应用程序,而且经过长期优化后的性能表现也相当出色[^5]。当然如果倾向于开源路线的话也可以考察Apache Tomcat或者其他类似的替代品。 ##### (二)编写核心业务逻辑代码 下面是一段简化的Python伪代码示例,展示了部分关键处理环节: ```python import socketserver from threading import Thread class BroadcastServer(socketserver.ThreadingMixIn, socketserver.TCPServer): pass class RequestHandler(socketserver.BaseRequestHandler): def handle(self): while True: try: data = self.request.recv(1024).strip() if not data: break command_type = parse_command(data) if command_type == 'REGISTER': register_client(self.client_address[0]) elif command_type == 'HEARTBEAT': update_status(self.client_address[0], "ONLINE") elif command_type.startswith('PLAY'): play_audio(command_type.split()[1]) except Exception as e: print(f"Error handling request from {self.client_address}: ", str(e)) break def start_server(): HOST, PORT = '', 9999 server = BroadcastServer((HOST, PORT), RequestHandler) thread = Thread(target=server.serve_forever) thread.daemon = True thread.start() print("Broadcast server started on port", PORT) if __name__ == "__main__": start_server() ``` 这段程序实现了基本的TCP长链接模型,允许远端客户机发送注册指令加入到广播组当中去,同时定期上报心跳包维持会话有效性;除此之外还预留了一个`PLAY`命令用来指示应该播放哪一段预存于本地磁盘上的音频文件给指定的目标群体收听。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值