注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

且行且记录

点滴记录,行的更远!

 
 
 

日志

 
 

改进了一下httpd.py使他能每天动态改变端口  

2017-06-15 11:57:20|  分类: 一些练习 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

之前做了用手机浏览器控制云服务器的py脚本和htm。

但是里面设置的端口只有我知道,可是我看输出里面居然还有其他的ip来连接。

可能是其他人扫描到的吧。

为了不让其他人乱连,我简单起见就让他每天动态改变端口。

动态的端口根据每天的月日产生,再和一个其他值运算后的结果,作为动态端口。

在py和htm里都是同样的方法产生。这样其他人就不知道了。

改变端口容易,但是如何在httpd的服务里每天改变,用多线程的方法,

另外产生一个线程作为服务线程。主线程就负责等待,每到下一天就再运行一次脚本并退出当前脚本。

这样一来,动态端口就可以实现了。

htm的问题比较简单一点,尽管会点htm但是不知道具体对象的方法等。

所以到w3school上看点htm,js方面的知识,边学边用,根据示例构造好了htm。

主要是要把动态端口设到表单的action里面url里。

在body的onload事件处理初始化,所有的表单的动态端口。

这两个文件的难点也就这两个,一个是py脚本键盘中断本应退出了,可程序却没有退出;

另一个就是htm里面的iframe是输出内容所在地,本应显示空的,有内容时才显示具体内容,

但是却显示了本页面的按钮等。

下面的红色部分就解决这两个问题。

setDaemon(True)

about:blank

。。。


class MyServer:
 def __init__(self, IP, PORT):
  self.ip = IP
  if type(PORT) != int:
   self.port = dynPort()
   print('[dynPort]: ', self.port)
  else:
   self.port = PORT
   print('[Port]: ', self.port)

  self.httpd = HTTPServer( (self.ip, self.port) , MyHandler)

 def Run(self):
  try:
   time.sleep(5)
   srv_th = threading.Thread(target = self.httpd.serve_forever)
   srv_th.setDaemon(True)
   srv_th.start()

   
    str_today = time.strftime('%Y-%m-%d')
    print('[*] ', str_today)
    t = time.strptime(str_today + ' 23:59:45', '%Y-%m-%d %H:%M:%S')
    tn = time.mktime(t)
    now = time.time()
    if now < tn:
     time.sleep( tn-now+30 )
    
     time.sleep(30)
     cmd = 'start ' + sys.argv[0]
     os.system(cmd)
     #sys.exit(0)
     return
  except KeyboardInterrupt:
   print('[*] 键盘中断!')
   #sys.exit(0)
   return

############################################
srv = MyServer('', '')
srv.Run()


。。。

 <BODY onload="setfrmurls()">
  <iframe name="p" src="about:blank" width=80% height=50% frameborder=1><HTML></HTML></iframe>
<br>

<form action="" target=p>
<input type=hidden name="xxx" value="relnk" style="width:25%">
<input type=submit style='font-size:40px' value="xxx">
</form>

。。。

  评论这张
 
阅读(7)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017