Skip to content

Instantly share code, notes, and snippets.

@bararchy
Created July 20, 2014 19:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save bararchy/22f8631d8078e0a42afc to your computer and use it in GitHub Desktop.
Save bararchy/22f8631d8078e0a42afc to your computer and use it in GitHub Desktop.
Ruby code for Safe-T 1
#!/usr/bin/ruby
require 'savon'
user = ""
pass = ""
server = ""
msg = "######################################################################\n"\
"## Safe-T Client in ruby - By Bar Hofesh - Safe-T Data ##\n"\
"######################################################################\n"
puts msg.center(15)
usage = ("Usage: #{File.basename($0)}: [-u <server url>] [-P <password>] [-U <user>]")
loop { case ARGV[0]
when '-u' then ARGV.shift; server = ARGV.shift
when '-P' then ARGV.shift; pass = ARGV.shift
when '-U' then ARGV.shift; user = ARGV.shift
when /^-/ then usage("Unknown option: #{ARGV[0].inspect}")
else break
end; }
if user == ""
puts "No User was given !\n" + usage
exit 1
else
end
if pass == ""
puts "No password was given !\n" + usage
exit 1
else
end
if server == ""
puts "No server was given !\n" + usage
exit 1
else
end
client = Savon.client(
wsdl: "#{server}/safe-t/service.asmx",
log: true,
log_level: :debug,
pretty_print_xml: true,
basic_auth: [user, pass]
)
puts "Server: #{server}/safe-t/service.asmx\n"\
"User: #{user}\n"\
"Password: #{pass}\n"
begin
response = client.call(:Service GetSystemReports: ) do
wsse_auth [user, pass]
message({
UserName: user,
Password: pass,
qty: 30,
days: 30
})
end
rescue Savon::Error => e
puts "Error: " + e.to_s
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment