免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 无风之谷
打印 上一主题 下一主题

ChinaUnix技术实践之五——Python编程大赛 欢迎大家参与!!(获奖名单公布) [复制链接]

论坛徽章:
0
1 [报告]
发表于 2011-07-06 23:34 |显示全部楼层
本帖最后由 car292516198 于 2011-07-07 18:48 编辑

来得较迟,有了前面高手猛人的代码,再突破,寻找新方法就很难了。幸好第一题,发现可用有序字典,否则没信心做下去。有序字典太旧的版本可能不支持,它与一般字典基本一样,差别是顺序存储。
1.
  1. import collections
  2. D=collections.OrderedDict()
  3. L=[11,22,33,11,22]
  4. for i in L:
  5.     D[i]=None
  6. print D.keys()
复制代码


2.
print '{:,}'.format(1234567)

3.
print 'abcde'[::-1]

4.
import os
print os.popen('df -h').read()

5.
这题用路由器测试最方便,本人就是用自己路由器测试通过,但注意域realm要一字不差。
  1. import urllib2
  2. ip='192.168.1.1'
  3. realm='Wireless Soho Router'
  4. auth_handler = urllib2.HTTPBasicAuthHandler()
  5. auth_handler.add_password(realm=realm,        
  6.                           uri=ip,
  7.                           user='admin',
  8.                           passwd='admin')
  9. opener = urllib2.build_opener(auth_handler)
  10. urllib2.install_opener(opener)
  11. try:
  12.     result=urllib2.urlopen('http://'+ip)
  13.     print result.code
  14. except Exception,e:
  15.     print e,'---Please check realm and ip.'
复制代码
6.
host是远程机地址。
import os
os.system("ssh host date")

7.
“d[line]=d.get(line,0)+1”字典中的get方法,如果line已在字典中,get返回相关数字,加1并设为新值;如不在字典中,get返回默认值0,并加1,相当于:
    if line not in d:
        d[line]=0
    d[line]+=1
我日志文件的URL的索引是6,不同的请修改。
  1. import re
  2. input=open('C:\\Program Files\\wamp\\logs\\access.log','r')
  3. d={}
  4. for line in input:
  5.     line=line.split()[6]     
  6.     d[line]=d.get(line,0)+1
  7. D=sorted(d.items(),key=lambda d:d[1],reverse=True)[:10]
  8. print D
复制代码
8.
  1. import thread,urllib2
  2. def do(url):
  3.     try:
  4.         u=urllib2.urlopen(url)
  5.         print url,u.code
  6.     except Exception,e:
  7.         print url,e
  8.         
  9. for i in [163,263,136,137,138,139,11,22,33,44]:
  10.     url = 'http://www.%s.com' % i
  11.     thread.start_new_thread(do,(url,))
复制代码

论坛徽章:
0
2 [报告]
发表于 2011-07-07 18:30 |显示全部楼层
回复 43# expert1


    域realm,类似cookie的网页地址,不同的网站有不同的cookie。认证在保留密码时,是域、密码相对应保存的。比如有两路由器,分别保留了密码,下次登录时,可以区分开。但如果两路由器域相同,密码不同,这样密码会覆盖掉,只能保存一密码。路由器型号相同,域则相同,也可以用PHP来进行认证测试。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP