Ruby构造简单的登录请求登录WEB服务器

一、前置条件

       本机已经搭好Tomcat服务器,服务器已有一个简单的站点,使用username和对应的password可以登录该网站,正常情况下使用浏览器和正确的用户名密码可以登录该网站。 下面不使用浏览器,而使用Ruby构造一个简单的请求来登录一个用户;在浏览器登录的过程中,填写好用户名密码之后,提交到后台的Action是: user_login.action


二、Ruby代码编写

require 'net/http'

url = URI.parse('http://localhost:8080/my_test/user_login')
response = Net::HTTP.post_form(url,{'username' => "admin", 'password' => "1" ,'page' => 1 }) 
puts response.body

 程序中先导入必要的包,代码很简单,第一行代码是转换url,因为登录访问的Action是user_login.action,在Struts.xml中配置时包括在jsp中提交Action时都不需要action后缀,所以写成user_login的形式即可,写成user_login.action测试发现也是可以的。

  第二行代码就是配置提交的参数,用户名和密码,第三个page参数可以忽略,与此处无关,如果登录时后台有验证码的逻辑,可以先取出验证码的校验逻辑,方便测试。

 第三行是打印返回的页面信息,不是关键。


三、测试

 

执行Ruby程序之后,发现返回了用户的主页的页面文件,并且在Tomcat的日志或者MyEclipse的日志窗口也打印了登录成功的信息,说明Ruby模拟登录过程是ok的。后面加一个模拟用户注册的Ruby程序。


四、补充一个模拟注册的程序

  代码上和之前差别不大

require 'net/http'
url = URI.parse('http://localhost:8080/my_test/user_registe.action')
response = Net::HTTP.post_form(url,{'username' => "user00", 'password' => "0" ,'repassword' => "0",
                                     'tel' => "11111111111", 'mail' => "111111111@qq.com"  }) 
puts response.body

检查数据库,发现用户注册成功,已经保存到数据库了。

 


五、总结

      通过这两个登录注册的例子的体验,相信用Ruby构造其他功能的报文也可逐步尝试。知道提交的Action和所需要提交的参数即可。此处的Action似乎就是所谓的CGI的一种特例。

  


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Ruby编程语言》详细介绍了Ruby1.8和1.9版本各方面的内容。在对Ruby进行了简要的综述之后,《Ruby编程语言》详细介绍了以下内容:Ruby的句法和语法结构,数据结构和对象,表达式和操作符,语句和控制结构,方法、proc、lambda和闭包,反射和元编程,Ruby平台。本书还包含对Ruby平台上丰富的API的详尽介绍,并用带有详尽注释的代码演示了Ruby进行文本处理、数字运算、集合、输入/输出、网络开发和并发编程的功能。  前言1   第1章导言1   1.1漫游RUBY2   1.2体验RUBY11   1.3关于本书15   1.4一个RUBY版的SUDOKU解答17   第2章RUBY程序的结构和运行25   2.1词法结构26   2.2句法结构33   2.3文件结构35   2.4程序的编码36   2.5RUBY程序的运行39   第3章数据类型和对象41   3.1数字42   3.2文本46   3.3数组64   3.4哈希67   3.5范围68   3.6符号71   3.7TRUE、FALSE和NIL72   3.8对象72   第4章表达式和操作符85   4.1字面量和关键字字面量86   4.2变量引用87   4.3常量引用88   4.4方法调用89   4.5赋值92   4.6操作符100   第5章语句和控制结构117   5.1条件式118   5.2循环127   5.3迭代器和可枚举对象130   5.4代码块140   5.5改变控制流146   5.6异常和异常处理154   5.7BEGIN和END165   5.8线程、纤程和连续体166   第6章方法、PROC、LAMBDA和闭包175   6.1定义简单方法177   6.2方法名180   6.3方法和圆括号183   6.4方法参数185   6.5PROC和LAMBDA192   6.6闭包200   6.7METHOD对象203   6.8函数式编程205   第7章类和模块213   7.1定义一个简单类214   7.2方法可见性:PUBLIC、PROTECTED、PRIVATE232   7.3子类化和继承234   7.4对象创建和初始化241   7.5模块247   7.6加载和请求模块252   7.7单键方法和EIGENCLASS257   7.8方法查找258   7.9常量查找261   第8章反射和元编程265   8.1类型、类和模块266   8.2对字符串和块进行求值268   8.3变量和常量271   8.4方法272   8.5钩子方法277   8.6跟踪279   8.7OBJECTSPACE和GC281   8.8定制控制结构281   8.9缺失的方法和常量284   8.10动态创建方法287   8.11别名链290   8.12领域特定语言296   第9章RUBY平台303   9.1字符串304   9.2正则表达式310   9.3数字和数学运算321   9.4日期和时间325   9.5集合328   9.6文件和目录350   9.7输入/输出356   9.8网络366   9.9线程和并发372   第10章RUBY环境389   10.1执行RUBY解释器390   10.2顶层环境394   10.3实用性信息抽取和产生报表的快捷方式403   10.4调用操作系统的功能405   10.5安全409

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值