3

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>'

我该如何解决这个问题?

4

2 回答 2

1

遇到同样的问题。

我只有两个文件tryout-browsermob.rb,并且browsermob-proxy放在同一个文件夹下,引用如下:

server = BrowserMob::Proxy::Server.new("./browsermob-proxy")

但事实证明,只有一个browsermob-proxy二进制文件是不够的。

解压从https://github.com/lightbody/browsermob-proxy/releaseslib下载的发布 zip 文件后也需要该文件夹。

最好将发布 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")
于 2017-01-11T10:34:21.910 回答
1

确保将带有 'broowsermob-dist' jar 文件的 'lib' 文件夹放在 'bin' 文件夹附近。

于 2015-08-12T13:37:09.257 回答