下面这个自动提交周报的代码只适用于我公司的周报系统,但改改就可以适应别的公司的web周报系统了,关键的代码都在for循环里面,三次HTTP请求,每次都要带上登录时分配给你的Cookie以保持连接状态,这跟我们公司的周报系统设定有关。
request_post
request_get
是关键!这两个方法市面上找不到,是我翻箱倒柜从http.rb的源码里面扣出来的,DOC太不全了!!!!!!
require "net/http"
require "uri"
require "pp"
#~personal configurations as below:
#~
forumID="347"
cookie=""
tid=nil
#~loginfo contains userID and password
#~
loginfo="username=cuizheng&password=cuizheng&login=登录"
#~reportinfo e.g.:"forumID=347&tid=1014&tempAttachmentID=-1&subject=2008-2-25到2008-2-29周报&body=E网打进的性能测试&doPost=发表帖子"
#~
reportinfo="forumID=#{forumID}&tid=#{tid}&tempAttachmentID=-1&subject=2008-3-3到2008-3-7周报&body=E网打进的性能测试&doPost=发表帖子"
#~the below urls and uris will be used
#~
logurl = "http://alisoft.alibaba-inc.com/jiveforums/login.jspa"
preposturl = "http://alisoft.alibaba-inc.com/jiveforums/post!default.jspa?forumID=#{forumID}"
posturl = "http://alisoft.alibaba-inc.com/jiveforums/post!post.jspa"
loguri = URI.parse(logurl)
preposturi = URI.parse(preposturl)
posturi = URI.parse(posturl)
#~the loginfo config of Hash format will not be used but be retained
#~
#~ loginfo = {
#~ "username" => "cuizheng",
#~ "password" => "woaiwojia",
#~ "login" => "登录"}
#~
Net::HTTP.start(loguri.host, loguri.port) do |http|
for i in 1..3 do
#~login weekly report site
#~
http.request_post(loguri.path,loginfo) do |response|
if /Welcome/.match(response.read_body) then
puts "login success"
cookie=response["set-cookie"]
#~get cookie from response
#~the site judge the session's logged status by session id that been stored in client's cookie
#~
#~ response.each do |key,val|
#~ puts "#{key}=>#{val}"
#~ end
#~
else
puts "login failed"
next
end
end
#~to get tid value in prepost page's html code
#~
http.request_get("#{preposturi.path}?#{preposturi.query}",{"Cookie"=>"#{cookie}"}) do |response|
#~DIY http request head[Cookie],otherwise the site will refused this request and redirection the request to default page
#~
if match_tid=/name=\"tid\" value=\"(\d+)\"/.match(response.read_body) then
tid=match_tid.captures[0]
#~use regular expression get tid's value
#~
puts "get tid success and tid is #{tid}"
else
puts "get tid failed"
next
end
end
#~post the weekly report
#~
http.request_post(posturi.path,reportinfo,{"Cookie"=>"#{cookie}"}) do |response|
if response.class==Net::HTTPFound then
#~if post success,the site will response 302 Code in head's Status-Line
#~
puts "post weekly report success"
break
else
#~else the site will response HTTPBadResponse class
#~
puts "post faild and responde type is #{response.class}"
next
end
end
end
end
注释比较详细,要改的地方是forumID,每个人周报的forumID都是不同但又固定的,改成你自己的就行了,loginfo中账号和密码也改成你自己的,reportinfo写上要post的周报内容和标题,脚本中如果有一个地方出错的话会执行下一个循环,一共执行三次,每出错的话就一次。如果觉得把周报内容写在reportinfo中不爽,可以写进YAML中读写,也很方便。
分享到:
- 2008-03-25 11:15
- 浏览 1235
- 评论(2)
- 论坛回复 / 浏览 (2 / 3413)
- 查看更多
相关推荐
在开发过程中,调试是必不可少的一环,而`ruby-debug-1.87`就是Ruby社区中广泛使用的调试工具之一。本文将深入探讨`ruby-debug-1.87`的功能、安装与使用方法,以及它依赖的几个关键组件。 `ruby-debug-1.87`是一个...
【标题】"中国通定位器 让您无处遁逃(带防下空单和重复下单功能)" 提供的信息表明,这是一个与位置追踪相关的软件应用,可能是为中国市场定制的。结合"防下空单和重复下单功能"的描述,我们可以推测这是一款用于交易...
请放心使用每天专人五小时以上工作量 两年多准备 = 国内最全的IP地址库!...支持剪切板操作,自动查找。2.支持IP在线查询。3.局域网IP地址扫描功能,能够扫描主机名,用户名,工作组和MAC。4.内网扫描功
【1号店:从B2C走到O2O立体化 无处不超市】 1号店,这家曾经的B2C(Business-to-Consumer)在线零售商,逐步转型为O2O(Online-to-Offline)模式,实现了从线上到线下的立体化发展。O2O模式的核心在于将线上平台与...
软件起动后,会自动停靠在屏幕最上放,并可自动隐藏,完全不会减少屏幕上的可视范围。用鼠标点标题栏上的小图标,会实现自动隐藏与全部显示的切换,同时更换小图标。V2.3 纠正了剪切板中的一处BUG。如果你知道新的IP...
6.强大的防作弊功能:IP防作弊,Cookie校验,且后台有强大的防作弊查询功能,让作弊用户无处遁形。 7.可以限定推广链接只有发布在指定网站上或用户已经通过审核的网站上。 8.记录每天,每小时详细的广告显示量和点击量,...
一万三的OD插件无处安放的魅力释放(远控)的解决办法 这次我直接发一个去后门的成品吧 也就不多介绍了 无处安放的魅力去后门版!
项目管理是现代组织中不可或缺的一种管理方式,尤其在信息技术(IT)行业中,项目管理的重要性日益凸显。本培训旨在帮助参与者理解和掌握项目管理的核心思想和实践技巧,以提高工作效率和项目成功率。 首先,热身...
7、加强防作弊功能,系统自动过滤重复IP,加强防止代理IP欺骗机制,防止ADSL更换IP欺骗系统机制,可识别来路并自动记录来路页面地址,让作弊用户无处遁形。 8、可在后台设置直接设置版权信息,及首页的A区B区内容及...
在系统修复方面,"360系统急救箱"还包含了一些自动化修复工具,例如"fix"可能是一个修复脚本或者工具,用于自动修复系统文件或注册表项,帮助用户解决系统异常问题。"dyn"可能是指动态加载的组件,根据实际需要加载...
《局域网IP扫描工具:无处藏身的网络智慧》 在当今信息化社会,局域网(LAN)已经成为企业、机构甚至家庭网络的核心部分。无论是为了管理内部网络资源,还是确保网络安全,了解并掌握局域网内的IP地址分布至关重要...
总结,电梯系统的发展与电子技术紧密相连,从控制系统到用户交互,再到安全性和能效,无处不体现电子技术的影响力。随着物联网、大数据和人工智能等技术的进一步融合,电梯系统将更加智能、安全和高效,为人们的生活...
【“春城无处不飞花,寒食东风御柳斜”的意思】 “春城无处不飞花,寒食东风御柳斜”这句诗句出自唐朝诗人韩翃的《寒食》一诗,描绘了寒食节时春天的景色。春城指的是春天的都市,这里形象地表现出花开满城的盛况,...
我们认为“简单就是美”,因此一直以来,岁月工作室在开发过程中无处不充分考虑用户的使用习惯,尽最大可能降低用户的使用门槛,让用户关注于内容维护本身,而不需 要投入过多的时间来学习系统的使用技巧,在细节处...
项目管理是一门科学和艺术,它涉及一系列的管理活动、知识、技能、工具和技术,目的是为了确保项目能在既定的范围、时间、成本以及质量要求内成功完成。项目管理的最终目标是满足项目干系人的需求和期望,这包括客户...
根据IP地址,查找其所在地的功能。支持剪切板操作,自动查找
强大的IP端口扫描工具
通过在这些区域安装摄像头,系统可以自动抓取人脸照片,与全国在逃人员数据库(CCIC库)和重点人员名单进行比对,一旦发现匹配,立即触发报警,使得逃犯无处遁形,极大地提升了公安机关的执法效能。 4. 解决问题 ...
这涉及到系统的价格策略模块,管理员可以根据市场需求、成本变化等因素灵活设定收费标准,而系统会自动更新并应用这些更改,确保所有交易按照最新价格执行。 除此之外,系统还可能具备其他功能,如车位状态显示、...