rails中获取url信息的一些方法

Posted by admin on 2014, November 13

取得域名 :

Ruby代码

    request.domain #=>  zool.it 
    request.domain(2) #=> blog.zool.it

取得子域名:

Ruby代码

    request.subdomain #=>  ”test.blog” 
    request.subdomain(2) #=> ”test”

Ruby代码

    request.subdomain #=>  ["test", "blog"] 
    request.subdomain(2) #=> ["test"]

取得主机名:

Ruby代码

    request.host #=> ”test.blog.zool.it”

取得带端口的主机名:

Ruby代码

    request.host_with_port #=> ”test.blog.zool.it:3000″


代理服务器的主机名和端口:

Ruby代码

    request.raw_host_with_port #=> ”test.blog.zool.it:3000″

取得由raw_host_with_port()获得的端口数值

Ruby代码

    request.port #=> 3000

取得raw_host_with_port()获得的端口文本字符串

Ruby代码

    request.port_string #=> ”:3000″

取得当前使用网络协议

Ruby代码

    
    request.protocol #=> ”http://”

取得网络协议

Ruby代码

    
    request.scheme #=> ”http”

request请求的uri地址

Ruby代码

    request.request_uri #=> ”/posts/Hello-World”


取得由env[‘SERVER_PORT’]返回的端口值

Ruby代码

    request.server_port #=> ”3000″

当前是否在是用https加密协议

Ruby代码

    request.ssl?() #=> false

返回网络协议标准端口(http为80, https为443)

Ruby代码

    
    request.standard_port #=> 80


判断当前协议是否是标准端口

Ruby代码

    request.standard_port? #=> false

取得当前requset完整url

Ruby代码

    
    request.url #=> ”http://test.blog.zool.it:3000/posts/Hello-World”