Нужно автоматизировать добавление адресов в сбор почты на рамблере на 1 акк чтобы брал из тхт файлика. Напишите пример,или ссыль хоть на что нить на подобие.
Code: #!/usr/bin/ruby require 'net/http' #require 'net/https' if ARGV.size<4 or ARGV.size>6 puts "Not enought arguments\n<logfile> <maillistfile> <outfile> <count> [<threads count> <begin no>]" puts "default threads count is equal 50" exit end $logfile=ARGV[0] $maillistfile=ARGV[1] $outputfile=ARGV[2] $count=ARGV[3].to_i if ARGV.size>=5 then $max_th_count = ARGV[4].to_i else $max_th_count=50 end if ARGV.size==6 then $beg_no=ARGV[5].to_i else $beg_no=0 end begin $logf=File.open($logfile,"a") rescue puts "Can't create logfile #{$logfile}" exit end def exist_mail(login) begin http = Net::HTTP.new('id.rambler.ru', 80) rescue => e $logf.puts "#{Time.now}: Socket error: #{e}" end path = '/script/newuser.cgi' # GET request -> so the host can set his cookies begin resp, data = http.get(path, nil) rescue => e $logf.puts "#{Time.now}: Can't get page: #{e}" end cookie = resp.response['set-cookie'] # POST request -> logging in data = "back=&step=one&login=#{login}&firstname=fuck&lastname=fuck" headers = { 'Cookie' => cookie, 'Referer' => 'http://id.rambler.ru/script/newuser.cgi', 'Content-Type' => 'application/x-www-form-urlencoded' } begin resp, data = http.post(path, data, headers) rescue => e $logf.puts "#{Time.now}: Can't send form: #{e}" end return (!(data.include?("captcha")) and data.include?("<input type=\"text\" name=\"firstname\"")) end#def begin $mlf=File.open($maillistfile,"r") rescue => e puts "#{Time.now}: Can't read #{$maillistfile}: #{e}" $logf.puts "#{Time.now}: Can't read #{$maillistfile}: #{e}" exit end $th_cnt=0 kk=0 while kk<$beg_no do $mlf.gets kk+=1 end $num=0 while $num<$count do while $th_cnt>=$max_th_count do sleep(3) end $th_cnt+=1 sleep(0.1) th=Thread.new do str=$mlf.gets $num+=1 if str!=nil if exist_mail(str.chop!) puts "#{$num}) #{Time.now} #{str}@rambler.ru ========== EXIST ===========" File.open($outputfile,"a"){|sfile| sfile.puts "#{str}@rambler.ru"} else puts "#{$num}) #{Time.now} #{str}@rambler.ru FAIL" end end $th_cnt-=1 end end $mlf.close $logf.close вот код на руби писал пару месяцев назад, сейчас не проверял. если хочешь могу и сами результаты выложить там их 687к под рамблер
Спасибо.Знать бы как всё это добро запустить,мои познания заканчиваются на лёгком знание php.Если не сложно стукни в асю 177шесть31 А есть какие либо решения на пхп?
стучал в асю, но тебя там не было. прога писалась и тестировалась только под линуксом, но по идее т.к. руби кроссплатформенен должна работать и под виндой. вот тут статья как установить руби http://habrahabr.ru/blogs/ruby/30786/, Qt тебе устанавливать не надо. Аргументы у скрипта следующие <logfile> <maillistfile> <outfile> <count> [<threads count> <begin no>], где logfile - файл лога, maillistfile - файл с твоими словами, без @ и rambler.ru outfile - файл куда пишуться все удачные мыла count - количество слов которые беруться из словаря threads count - количество потоков (не обязательный параметр, по умолчанию 50 потоков) begin no - номер строки с которой начинать в словаре (не обязательный параметр) Примечание: если задан параметр <begin no> то ему обязательно должен предшевствовать <threads count>. Какие косяки могут возникнуть с переходом на винду: -считка строки из файла словаря maillistfile. Причина в том, что в nix'ах перевод строки обозначаеться как \n, а в винде как \r\n, поэтому скрипт может не понять где какая строка, а может и понять. Решить это можно установив какой-нить, не попсовый текстовый редактор, где автозаменой заменить все \r на пустое место, после чего блокнот не будет показывать новых строк в файле а будет отображать прямоугольник (\n).