国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

Python實現簡單的代理服務器

來源:懂視網 責編:小采 時間:2020-11-27 14:34:37
文檔

Python實現簡單的代理服務器

Python實現簡單的代理服務器:本文實例講述了Python實現簡單的代理服務器。分享給大家供大家參考。具體如下: 具備簡單的管理功能,運行后 telnet localhost 9000 端口可以進行管理主要功能就是做包轉發,如果有一個橋服務器,可以用來外網訪問內網用,還是很管用的 #/bin/en
推薦度:
導讀Python實現簡單的代理服務器:本文實例講述了Python實現簡單的代理服務器。分享給大家供大家參考。具體如下: 具備簡單的管理功能,運行后 telnet localhost 9000 端口可以進行管理主要功能就是做包轉發,如果有一個橋服務器,可以用來外網訪問內網用,還是很管用的 #/bin/en

本文實例講述了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
type 'help' to get help
""")
 buffer = '' 
 while True: 
 buf = cs.recv(10000) 
 if len(buf) == 0: 
 cs.close() 
 break 
 if buf[-1] not in ('
','
'): 
 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
' % l 
 if len(b) > 0: 
 cs.send(b) 
 elif cmd in ('help','?'): 
 cs.send("""-------------------------------------------
exit
 
 exit telnet
 
start localport serverip:serverport
 
 start a new server
 
list
 
 list all server
 
-------------------------------------------
 
""") 
 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
') 
 continue 
 arg = args[1].split(":",1) 
 if len(arg) != 2: 
 cs.send('start localport serverip:serverport
') 
 continue 
 try: 
 l_port = int(args[0]) 
 s_ip = arg[0] 
 s_port = int(arg[1]) 
 except: 
 cs.send('start localport serverip:serverport
') 
 continue 
 thread.start_new_thread(mainserver,(l_port,s_ip,s_port)) 
 cs.send('start OK!
') 
 else: 
 cs.send('no command [%s]
' % 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()

希望本文所述對大家的Python程序設計有所幫助。

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

Python實現簡單的代理服務器

Python實現簡單的代理服務器:本文實例講述了Python實現簡單的代理服務器。分享給大家供大家參考。具體如下: 具備簡單的管理功能,運行后 telnet localhost 9000 端口可以進行管理主要功能就是做包轉發,如果有一個橋服務器,可以用來外網訪問內網用,還是很管用的 #/bin/en
推薦度:
標簽: 實現 服務器 python
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 成人欧美一区二区三区 | 日韩综合在线视频 | 黄色毛片a | 亚洲国产综合专区在线电影 | 亚洲欧美色视频 | 在线播放真实国产乱子伦 | 成人亚洲国产精品久久 | 欧美网站在线观看 | 91精品国产色综合久久不卡蜜 | 久久一区二区精品综合 | 特级一级全黄毛片免费 | 国产毛片不卡 | 日韩视频免费看 | 欧美精品国产日韩综合在线 | 日韩欧美一区二区三区免费看 | 成年人黄国产 | 久久精品一区二区国产 | 中文字幕日韩一区二区三区不卡 | 久久亚洲不卡一区二区 | 青草青99久久99九九99九九九 | 国产真实乱人偷精品 | 欧美成人高清在线视频大全 | 亚洲国产成人久久综合碰碰动漫3d | 99精品热视频| 欧美日韩视频一区二区 | 国产高清一区二区 | 91精品专区 | 久久中文网| 国产精品免费观看视频 | 欧美伊人久久大香线蕉综合69 | va欧美国产在线视频 | 日本亚欧乱色视频在线观看 | 国产成人亚洲综合一区 | 成人国产一区二区三区精品 | 日韩中文字幕第一页 | 亚欧精品在线观看 | 国产日韩精品一区二区 | 国内精品一区二区2021在线 | 图片专区亚洲欧美另类 | 欧美伊人久久大香线蕉综合69 | 欧美在线一区二区三区不卡 |