您的位置:首页 > 编程语言 > Ruby

ruby来枚举csdn未注册的用户名

2010-05-01 20:21 267 查看
require 'open-uri'
$NAME_CHARS= (?a..?z).to_a+(?0..?9).to_a
def is_name_used(name)
str=open('http://passport.csdn.net/UserExist.aspx?UserName='+name)
str=str.read
#str=str.encode('GBK','utf-8')
return true if str[/Red/]
end
def enum_names(len=2)
return if len<2
f=File.open('d:/work/a.txt',"w+")
strpack="A"*len
i,v=0,""
$NAME_CHARS.permutation(len) do |x|
v=x.pack(strpack)
break if v[/^[/d]+/]
#p i+=1
f.puts "#{i+=1} : #{v}"
f.puts "#{v} is not use!" unless is_name_used(v)
end

rescue =>ex
p "err : #{ex.to_s}(#{v})"
ensure
f.close if f
end
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: