Github链接:-
https://github.com/jarib/browsermob-proxy-rb
我通过以下方式使用browsermob代理创建代理:-
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
当执行"server.start"时,它抛出如下错误:-
Error: Could not find or load main class net.lightbody.bmp.proxy.Main
BrowserMob::Proxy::Server::ServerDiedError: unable to launch the server (rerun with :log => true to see process output)
from /home/ubuntu/.rvm/gems/ruby-2.2.0@v-qa/gems/browsermob-proxy-0.2.0/lib/browsermob/proxy/server.rb:75:in `wait_for_startup'
from /home/ubuntu/.rvm/gems/ruby-2.2.0@v-qa/gems/browsermob-proxy-0.2.0/lib/browsermob/proxy/server.rb:34:in `start'
from (irb):13
from /home/ubuntu/.rvm/rubies/ruby-2.2.0/bin/irb:11:in `<main>'
我该如何解决此问题?
确保将带有"broowsermob-dist"jar文件的"lib"文件夹放在"bin"文件夹附近。
遇到了同样的问题。
我在同一文件夹下只有两个文件tryout-browsermob.rb
和browsermob-proxy
,参考如下:
server = BrowserMob::Proxy::Server.new("./browsermob-proxy")
但事实证明,只有一个browsermob-proxy
二进制文件是不够的。
提取从下载的发布zip文件后,还需要lib
文件夹https://github.com/lightbody/browsermob-proxy/releases.
最好只是将发布zip解压缩到一个文件夹中,并将所有文件保留为原始文件夹结构。
/browsermob-proxy-2.1.4
/bin
/lib
/ssl-support
browsermob-core-2.1.4-javadoc.jar
browsermob-core-2.1.4-sources.jar
browsermob-rest-2.1.4-javadoc.jar
browsermob-rest-2.1.4-sources.jar
然后在.rb
文件中,引用类似的二进制文件
server = BrowserMob::Proxy::Server.new("./browsermob-proxy-2.1.4/bin/browsermob-proxy")
如果在Windows下,请使用完全限定路径。
server = BrowserMob::Proxy::Server.new("D:\browsermob\browsermob-proxy-2.1.4\bin\browsermob-proxy.bat")