使用以下链接:-
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
如何使用浏览器代理为请求传递自定义标头?
您是否更改了示例代码的路径?在粘贴的代码中,您有:
server = BrowserMob::Proxy::Server.new("/path/to/downloads/browsermob-proxy/bin/browsermob-proxy")
路径/到/...部分应指向实际的浏览器mob-prop可执行文件。
我已经将标题键和值作为字符串传递,如下所示,它的工作原理。
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"})