0

我正在使用以下链接:-

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 代理传递自定义标头以进行请求?

4

2 回答 2

0

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

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"})
于 2015-01-27T06:04:07.490 回答
0

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

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

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

于 2015-01-22T05:15:15.277 回答