ruby 快速而肮脏的脚本,以PDF格式从AT&T获取最新账单。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 快速而肮脏的脚本,以PDF格式从AT&T获取最新账单。相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env ruby
# encoding: UTF-8
require 'optparse'
require 'ostruct'
require 'mechanize'
# Test
options = OpenStruct.new
parser = OptionParser.new do |p|
p.banner = 'Usage: bill_getter [OPTIONS]'
p.separator 'Example: bill_getter -u user@att.net -p secret'
p.separator ''
p.separator 'Getter options:'
p.on('-u', '--user USERNAME',
'Login using the user USERNAME') do |user|
options.user = user
end
p.on('-p', '--password PASSWORD',
'Authenticate with PASSWORD') do |pw|
options.pw = pw
end
p.on('-f', '--filename FILENAME',
'Save PDF to FILENAME',
'(default stdout)') do |filename|
options.filename = File.expand_path filename
end
p.separator ''
p.separator 'Miscellaneous:'
p.on_tail('-h', '--help', 'Show this message') do
puts p
exit
end
end
begin
parser.parse! ARGV
raise ArgumentError unless options.user && options.pw
rescue
puts parser
exit
end
agent = Mechanize.new
agent.user_agent_alias = 'Mac Safari'
page = agent.get 'http://www.att.com/uversecentral'
form = page.form 'loginActionForm'
form.wireless_num = options.user
form.accountType = 'UVERSE'
form.pass = options.pw
form.customerType = 'UVERSE'
agent.submit form
pdf = agent.get_file 'https://www.att.com/view/uverse_printer_friendly.action'
if options.filename
File.open(options.filename, 'w') {|f| f.write pdf}
else
puts pdf
end
以上是关于ruby 快速而肮脏的脚本,以PDF格式从AT&T获取最新账单。的主要内容,如果未能解决你的问题,请参考以下文章
ruby 使用Ruby进行快速而脏的PDF签名(使用Origami)
Python:快速而肮脏的数据类型 (DTO)
python 快速而肮脏的OpenSSL heartbleed漏洞演示
css 快速而肮脏的根css,每次都有效
如何从 Python 代码进入 REPL(读取、评估、打印、循环)
SQLAlchemy 还是 psycopg2?