【问题标题】:Pass custom header using browsermob proxy使用 browsermob 代理传递自定义标头
【发布时间】:2015-01-21 10:12:05
【问题描述】:

我正在使用以下链接:-

https://github.com/jarib/browsermob-proxy-rb

我已经尝试过这个来传递自定义标题

require 'selenium/webdriver'
require 'browsermob/proxy'

server = BrowserMob::Proxy::Server.new("/path/to/downloads/browsermob-proxy/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
server.start

proxy = server.create_proxy #=> 

proxy.headers({'test'=> 1})

但它会引发如下错误:-

RestClient::InternalServerError: 500 Internal Server Error
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/abstract_response.rb:48:in `return!'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/request.rb:230:in `process_result'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/request.rb:178:in `block in transmit'
    from /home/karunakaran/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:852:in `start'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/request.rb:172:in `transmit'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/request.rb:64:in `execute'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/request.rb:33:in `execute'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/rest-client-1.6.7/lib/restclient/resource.rb:67:in `post'
    from /home/karunakaran/.rvm/gems/ruby-2.0.0-p247@pubm-qa/gems/browsermob-proxy-0.2.0/lib/browsermob/proxy/client.rb:121:in `header'
    from (irb):45

如何使用 browsermob 代理传递自定义标头以进行请求?

【问题讨论】:

    标签: ruby custom-headers browsermob


    【解决方案1】:

    您是否更改了示例代码的路径?在您粘贴的代码中,您有:

    server = BrowserMob::Proxy::Server.new("/path/to/downloads/browsermob-proxy/bin/browsermob-proxy")

    /path/to/... 部分应该指向实际的 browsermob-proxy 可执行文件。

    【讨论】:

    • 我只给了 browsermob-proxy 可执行文件。它在没有标题的情况下工作。我怎样才能通过标题。
    【解决方案2】:

    我已将标题键和值作为字符串传递,如下所示。

    require 'selenium/webdriver'
    require 'browsermob/proxy'
    
    server = BrowserMob::Proxy::Server.new("/path/to/downloads/browsermob-proxy/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
    server.start
    
    proxy = server.create_proxy #=> 
    
    proxy.headers({"test"=> "1"})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多