- 浏览: 498940 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (258)
- 0-中医 (83)
- 1-工作 (4)
- 2-生活 (17)
- 3-其他 (3)
- oracle_dev (5)
- oracle_dba (35)
- ebs_gl (1)
- ebs_ap (0)
- ebs_po (0)
- ebs_hr_people (0)
- ebs_hr_payroll (0)
- java (12)
- javaScript (7)
- JSP2.0 (4)
- springMVC (3)
- spring (4)
- iBatis (5)
- Hibernate (3)
- tomcat (2)
- linux (13)
- 网络 (3)
- python (25)
- Django (11)
- z-技术 (13)
- PHPCMS (0)
最新评论
-
bo521dai:
Bravo. contains everything.
Oracle调优总结 -
yangxiutian:
固态硬盘是什么东东,既然对硬件有约束,我想推广难啊,除非若干年 ...
未来操作系统(组图) -
showzh:
...
listener.ora 、sqlnet.ora 、tnsnames.ora的关系以及手工配置举例 -
489687009:
我特别想问一下楼主,现在有了框架后,jsp2.0还有用武之地吗 ...
JSP2.0入门 -
liuzl121:
你好 我刚学java,我想请教下这个SignonControl ...
log4j详尽配置实战(for spring)
from: http://dream-people.iteye.com/blog/364402
下面是我用python写的一个简单的代理服务器
具备简单的管理功能,运行后 telnet localhost 9000 端口可以进行管理主要功能就是做包转发,如果有一个桥服务器,可以用来外网访问内网用,还是很管用的
下面是我用python写的一个简单的代理服务器
具备简单的管理功能,运行后 telnet localhost 9000 端口可以进行管理主要功能就是做包转发,如果有一个桥服务器,可以用来外网访问内网用,还是很管用的
#/bin/env python #coding:utf-8 import socket,select,sys,time import thread s_list = [] def loop(cs,addr,s_ip,s_port): print '%s %d connected.' % addr ts = socket.socket() try: ts.connect((s_ip,s_port)) except: cs.close() print '%s %d closed.' % addr sys.exit(0) while True: rl,wl,xl = select.select([cs.fileno(),ts.fileno()],[],[cs.fileno(),ts.fileno()]) if len(xl) > 0: cs.close() ts.close() print '%s %d closed.' % addr sys.exit(0) if len(rl) > 0: if rl[0] == cs.fileno(): rs = ts ws = cs else: rs = cs ws = ts try: buffer = ws.recv(10000) if len(buffer) == 0: raise rs.send(buffer) except: rs.close() ts.close() print '%s %d closed.' % addr sys.exit(0) def mainserver(l_port,s_ip,s_port): global s_list try: ss = socket.socket() ss.bind(('0.0.0.0',l_port)) ss.listen(10) s_list.append((l_port,s_ip,s_port)) except: sys.exit(0) while True: cs,addr = ss.accept() thread.start_new_thread(loop,(cs,addr,s_ip,s_port)) def manager(l_port): global start,s_list ss = socket.socket() ss.bind(('0.0.0.0',l_port)) ss.listen(10) while True: cs,addr = ss.accept() cs.send("""trans server 1.0\r\ntype 'help' to get help\r\n""") buffer = '' while True: buf = cs.recv(10000) if len(buf) == 0: cs.close() break if buf[-1] not in ('\r','\n'): buffer += buf continue buffer += buf cmd = buffer.strip() buffer = '' if cmd == 'exit': cs.close() break elif cmd == 'stop': start = 0 cs.close() sys.exit(0) elif cmd == 'list': b = '' for l in s_list: b += '%4d %s:%d\r\n' % l if len(b) > 0: cs.send(b) elif cmd in ('help','?'): cs.send("""-------------------------------------------\r exit\r exit telnet\r start localport serverip:serverport\r start a new server\r list\r list all server\r -------------------------------------------\r """) else: cmds = cmd.split(" ",1) if len(cmds) > 1 and cmds[0] == 'start': args = cmds[1].strip().split(" ",1) if len(args) != 2: cs.send('start localport serverip:serverport\r\n') continue arg = args[1].split(":",1) if len(arg) != 2: cs.send('start localport serverip:serverport\r\n') continue try: l_port = int(args[0]) s_ip = arg[0] s_port = int(arg[1]) except: cs.send('start localport serverip:serverport\r\n') continue thread.start_new_thread(mainserver,(l_port,s_ip,s_port)) cs.send('start OK!\r\n') else: cs.send('no command [%s]\r\n' % cmd) continue def main(): global start if len(sys.argv) == 3: try: l_port = int(sys.argv[1]) s_ip,s_port = sys.argv[2].split(":") s_port = int(s_port) thread.start_new_thread(mainserver,(l_port,s_ip,s_port)) except: pass start = 1 thread.start_new_thread(manager,(9000,)) while start: time.sleep(1) if __name__ == '__main__': start = 0 main()
发表评论
-
Django之Apache/mod_python安装及HelloWorld
2009-11-12 11:31 1862from: http://hideto.iteye.com/b ... -
Python模块包中__init__.py文件的作用
2009-07-29 17:03 1308from:http://www.iteye.com/topic ... -
Google App Engine 开发人员指南
2009-07-27 13:31 975http://code.google.com/intl/zh- ... -
正则表达式
2009-07-27 12:28 937from: http://jamesblog.iteye.co ... -
Chinese Python User Group 中文Python用户组
2009-07-24 15:17 1180http://groups.google.com/group/ ... -
开心网查看朋友果实的小程序
2009-07-23 17:16 1459#!/usr/bin/env python # -* ... -
html 2 txt (完善中)
2009-07-23 17:01 1106import re filename=raw_input( ... -
英汉字典(有道)
2009-07-23 16:59 1280# fileName : dict.py import re ... -
Python学习计划
2009-07-22 10:37 3135from:http://jythoner.iteye.com/ ... -
python 资料共享(from javaeye )
2009-07-22 10:33 1049http://onlypython.group.iteye.c ... -
Python中的全局变量
2009-07-21 14:34 1211全局变量不符合参数传递的精神,所以,平时我很少使用,除非定义常 ... -
python教程:几行代码搞定python 设计模式
2009-07-21 13:55 1392# #!/usr/bin/env python # # ... -
python教程:异常处理
2009-07-21 13:52 1193#例子1 1. #coding:utf-8 2. ... -
PDFMiner
2009-07-20 10:07 6223PDFMiner Python PDF parse ... -
python 搜索 PDF文件 内容
2009-07-20 09:44 7219我想做个小东东,需要读取pdf文件的文本内容,然后搜索某个关键 ... -
数据库 API 参考
2009-07-02 09:19 854http://www.woodpecker.org.cn/ob ... -
python编程八荣八耻
2009-07-01 16:20 1077python编程八荣八耻 以动手实践为荣, 以只看不练为耻; ... -
python中cx_Oracle模块安装遇到的问题与解决方法
2009-06-26 09:59 7897--============================= ... -
python教程:分支、循环
2009-06-23 15:36 3495讲程序设计,不得不讲到顺序、分支、循环。 顺序就是从上到下运行 ... -
python 实践
2009-06-18 15:58 959http://www.iteye.com/topic/1011 ...
相关推荐
这里的代理服务器,是指二级代理服务器。比如:A可以访问B,B可以访问C,A不能直接访问C。这时,如果在B开一个二级代理,就可实现A访问C。现有的工具有CCProxy。...这里就是使用Python简单的实现一个二级代理。
本文实例讲述了python实现简单的TCP代理服务器的方法,分享给大家供大家参考。 具体实现代码如下: # -*- coding: utf-8 -*- ''' filename:rtcp.py @desc: 利用python的socket端口转发,用于远程维护 如果连接不到...
本文将深入探讨一个基于Python实现的简单代理,它能够将Websocket消息高效地转发到Unix套接字,同时也支持反向操作,即从Unix套接字接收消息并发送到Websocket客户端。这个工具名为"ws-unix-framed-bridge",它为...
使用 Python 和 Flask 创建一个 HTTP 代理服务器是一种高效且灵活的方式来处理 HTTP 请求和响应。Flask 是一个轻量级的 Web 框架,易于学习和使用,非常适合快速开发和原型设计。通过结合 Flask 和 Python 的标准库...
在这个“Python-一个自己写的python3的简单到发指的爬虫”的项目中,我们将深入探讨Python3的基本爬虫实现,以及涉及到的相关知识点。 首先,我们要了解Python3爬虫的基础,这通常包括HTTP/HTTPS协议、网络请求库...
Nginx是一款高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理服务器。在Web服务器端架构中,Nginx通常用作静态资源服务器和反向代理服务器,它能够快速响应静态文件的请求,而对于动态请求则转发至uWSGI...
标题中的“Python超实用技能:使用Python开发SQLite代理服务器的方法”指的是使用Python编程语言来创建一个SQLite数据库的代理服务,从而解决SQLite数据库无法远程访问的问题。这个代理服务器充当了一个中间层,使得...
源码编写一个简单的HTTP代理服务器,首先需要理解HTTP的基本请求结构,包括GET、POST等方法,以及请求头和请求体的构成。接着,你需要使用合适的编程语言,如Python、Java或C++,来实现这个代理服务。这可能涉及创建...
mailproxy是一个简单的SMTP代理。 它通过未加密的未经身份验证的SMTP接口接收电子邮件,并通过需要现代功能(SSL,STARTTLS)和/或身份验证(SMTP AUTH))的远程SMTP服务器重新发送。 mailproxy主要用于在仅支持纯...
除了socket外没有用到任何第三方库,完全从最底层写起,对研究http协议有帮助。仅实现简单的代理功能
这个项目将复杂的邮件服务器配置集成为一个简单的命令行工具,使得非专业技术人员也能轻松设置自己的邮件服务,从而实现完全的隐私和数据控制。 Mail-in-a-Box 包含了以下关键组件和服务: 1. **域名解析(DNS)**...
于是就自己用python写一个。 原理很简单。 1.开一个socket server监听连接请求 2.每接受一个客户端的连接请求,就往要转发的地址建一条连接请求。即client->proxy->forward。proxy既是socket服务端(监听client),...
本文实例讲述了Python简单实现的代理服务器端口映射功能。分享给大家供大家参考,具体如下: 一 代码 1、模拟服务端代码 import sys import socket import threading #回复消息,原样返回 def replyMessage(conn): ...
proxy.py, 在 python 中,轻量级的HTTP代理服务器 proxy.pypython 中的轻量级HTTP代理服务器。特性作为单个文件模块分发除了 python 标准库之外没有依赖项支持 http,https,web sockets请求代理安装要简单安装 ...
**Python-一个简单的Python爬虫** 在Python编程领域,Web爬虫是一种常用的技术,用于自动地从互联网上抓取信息。Python因其丰富的库支持和简洁的语法,成为了编写爬虫的首选语言。在这个主题中,我们将深入探讨如何...
本压缩包文件“Python反向代理服务器.rar”显然是提供了一个简单的Python实现反向代理的示例。 首先,让我们理解什么是反向代理。反向代理是一种网络架构模式,它位于客户端和服务器之间,接收来自客户端的请求,并...
标题中的"Python-一个简单的web服务代理只有19行Python代码"揭示了我们将讨论的是一个用Python编写的小型Web服务代理。这个代理可能是用于转发HTTP请求,帮助隐藏客户端的真实身份,或者提供网络访问的透明性。它...
Python-statsd是一个Python实现的客户端库,用于与statsd服务器通信。Statsd是Twitter开发的一款轻量级代理服务,主要用于收集、聚合并转发应用的度量数据,如计数器、计时器、直方图和分布,这些数据通常被用作监控...
1. **获取网站列表**:首先,你需要一个包含代理服务器网站的列表。这个列表可以从网上手动收集,或者从已有的数据文件(如压缩包中的`ProxyNet`文件)中读取。这些网站可能需要定期检查以确保其有效性。 2. **解析...
2. **基于 Tornado 的 HTTP 服务器框架**:Tornado 是一个开源的 Python Web 框架,它支持异步网络操作,非常适合构建高性能的应用程序服务器。 3. **App 客户端/服务器端之间的数据通信**:详细讲解如何实现客户端...