1

Hello I want to catch all redirects when they happend. Lets say first it goes to example.com then it redirect to example1.com and after that example3.com

I'm using watir webdriver and browsermob/proxy. I tried with google.com, that doesnt redirect, but the har file should be much more then what I get.

hier is the code:

server = BrowserMob::Proxy::Server.new("/home/da/Downloads/browsermob-proxy-2.0.0/bin/browsermob-proxy") #=> #<BrowserMob::Proxy::Server:0x000001022c6ea8 ...>
        server.start
  @@proxy = server.create_proxy(9090)
        puts @@proxy.inspect
  profile = Selenium::WebDriver::Firefox::Profile.new
        puts "going on #{dv}"
  profile['general.useragent.override'] = dv['useragent']
        #'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:27.0) Gecko/20100101 Firefox/27.0'#device['useragent']
  puts dv['useragent']
  profile.proxy = Selenium::WebDriver::Proxy.new :http => 'localhost:9090', :ssl => 'localhost:9090'#9091
  time = Time.now.to_i #Time.now.getutc
  puts APP_ROOT
  @@proxy.new_har time
  @@b = Watir::Browser.new :firefox, :profile => profile
        @@har = @@proxy.har #=> #<HAR::Archive:0x-27066c42d7e75fa6>
        #har.entries.first.request.url
        #har.entries.first.request.url #=> "http://google.com"
        @@b.goto "google.com"
        puts @@har.inspect
        @@har.save_to "#{APP_ROOT}/har/google.har"
        exit

and this is what I get

{"log":{"version":"1.2","creator":{"name":"BrowserMob Proxy","version":"2.0","comment":""},"browser":{"name":"IE","version":"11.0","comment":""},"pages":[{"id":"1479767515","startedDateTime":"2016-11-21T23:31:56.561+01:00","title":"","pageTimings":{"comment":""},"comment":""}],"entries":[{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.146+01:00","request":{"method":"GET","url":"https://tiles.services.mozilla.com/v3/links/fetch/en-US/release","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[],"headersSize":370,"bodySize":0,"comment":""},"response":{"status":303,"statusText":"SEE OTHER","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":0,"mimeType":"text/html; charset=utf-8","comment":""},"redirectURL":"","headersSize":266,"bodySize":0,"comment":""},"cache":{},"timings":{"blocked":101,"dns":266,"connect":238,"send":1,"wait":205,"receive":832,"ssl":0,"comment":""},"serverIPAddress":"52.32.150.180","comment":"","time":1643},{"pageref":"1479767515","startedDateTime":"2016-11-21T23:32:02.791+01:00","request":{"method":"POST","url":"https://location.services.mozilla.com/v1/country?key=7e40f68c-7938-4c5d-9f95-e61647c213eb","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"queryString":[{"name":"key","value":"7e40f68c-7938-4c5d-9f95-e61647c213eb"}],"headersSize":419,"bodySize":2,"comment":""},"response":{"status":200,"statusText":"OK","httpVersion":"HTTP/1.1","cookies":[],"headers":[],"content":{"size":49,"mimeType":"application/json; charset=UTF-8","comment":""},"redirectURL":"","headersSize":227,"bodySize":49,"comment":""},"cache":{},"timings":{"blocked":0,"dns":9,"connect":45,"send":17,"wait":60,"receive":511,"ssl":0,"comment":""},"serverIPAddress":"52.19.86.22","comment":"","time":642}],"comment":""}}

I tried with redirects like mentioned above example1.com to exmple2.com and har file is not giving much :(

HERE are some tests I preformed:

ok here some tests results: firefox 49 2.0.0 don't work at all firefox 49 2.1.2 don't work at all firefox 48 2.1.2 don't work at all

firefox 47 2.1.2 works but har is small firefox 47 2.0.0 works har file is bigger firefox 47 2.1.0 works har is middle big firefox 47 2.1.1 works and it is biggest

Then I tested also with firefox 46 and got same results....

I remember a couple years ago I got also the redirects with same codes and now can get it :(

4

1 に答える 1

1

Browsermob 経由で WebDriver::Proxy を作成しようとしましたか。

例えば

profile.proxy = @@proxy.selenium_proxy :http, :ssl

また、BrowsermobProxy 自体は通常 9090 で動作するため、9090 でプロキシを作成しようとするとポートの衝突が予想されます。上記のコードを使用する場合、ポートを指定する必要はありません。

例えば

@@proxy = server.create_proxy
于 2016-12-08T17:27:17.293 に答える