河边的小屋

抽象与无聊的最佳结合点

原创 Python实现的在线保持收藏

Python实现的在线保持
偶所在的校园网,如果一段时间没有下载流量则自动断网,所以编写此程序定期访问网络,下载一些无关紧要的数据,来保持网络链接。

# -*- coding: gbk -*-

from socket import *
import time

GET_DATA="""\
GET / HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
Accept-Language: zh-cn
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; Maxthon)
Host: %s
Connection: Keep-Alive

"""

siteList=[
 ('202.108.22.5',80),
 ('61.135.133.103',80),
 ('71.5.7.138',80),
 ('216.109.112.135',80),
 ('202.108.9.16',80)
 ]

def loop():
 global siteList
 for addr,port in siteList:
  data=''
  try:
   s=socket(AF_INET,SOCK_STREAM)
   s.settimeout(30) #超时30秒
   s.connect((addr,port))
   s.send(GET_DATA%addr)
   data=s.recv(64)
   if data=='':
    print 'IP: %s'%addr+" can't connect!"
   else:
    print 'IP: %s'%addr+" OK !!!!!!!!!!!!!!!!"
  except timeout,detail:
   #超时错误
   print "超时错误 %s"%addr
   pass
  except error,detail:
   #其他Socket错误
   print "其他Socket错误 %s"%addr
   pass
  #except:
   #所有错误
  # pass
  s.close()
  print '='*60
  time.sleep(30)
 return

def main():
 while True:
  loop()
 return

if __name__=='__main__':
 main()

发表于 @ 2006年07月06日 16:09:00|评论(loading...)

新一篇: F-22、漂移与飞碟 | 旧一篇: gashero的mod_python开发经验

Csdn Blog version 3.1a
Copyright © 松毛虫