让我为我正在努力完成的任务设定舞台。在我参加的一个物理课上,我的老师总是喜欢吹嘘在班上作弊是不可能的,因为她的所有作业都是通过WebAssign完成的。 WebAssign的工作方式是这样的:每个人都会得到相同的问题,但问题中使用的数字是随机变量,因此每个学生都有不同的数字,因此是不同的答案。所以我一直在写ruby脚本来解决人们的问题,只需输入你的具体数字即可。Ruby机械化登录不起作用
我想使用机械化来自动化这个过程。我之前使用过很多次机械化,但我无法登录到该网站。我会提交表单,它会返回我刚才的页面。你可以看看网站的源代码,在http://webassign.net,我也尝试使用登录http://webassign.net/login.html没有运气。
让我跟着这一切了一些Ruby代码是没有做什么,我希望它:
require 'rubygems'
require 'mechanize'
agent = Mechanize.new
page = agent.get("http://www.webassign.net/login.html")
form = page.forms.last
puts "Enter your username"
form.WebAssignUsername = gets.chomp
puts "Enter your password (Don't worry, we don't save this)"
form.WebAssignPassword = gets.chomp
form.WebAssignInstitution = "trinityvalley.tx"
form.submit #=> Returns original page
如果有人真的需要在得到这个有兴趣的工作,我会超过很高兴向他们发送一个可用的用户名和密码。
你确定这是个好主意吗? – 2011-01-12 00:00:41
@Isaac我没有看到任何错误向老师证明设置是不安全的。这就是他似乎在做的事情。 – marcog 2011-01-12 00:02:36
当我遇到这样的问题时,我使用firefox登录并使用Live Headers扩展名记录所有标题。然后我将结果与机械化进行比较。 – cam 2011-01-12 00:36:00