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

来源:互联网 发布:南方数据传输软件下载 编辑:程序博客网 时间:2024/06/03 18:27

一、前置条件

       本机已经搭好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的一种特例。

  


原创粉丝点击