您好我希望在发生时捕获所有重定向。 让我们首先说它转到example.com然后重定向到example1.com然后再发送到example3.com
我正在使用watir webdriver和browsermob / proxy。 我尝试使用google.com,但没有重定向,但是har文件应该比我得到的更多。
hier是代码:
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
这就是我得到的
{"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":""}}
我尝试使用上面提到的example1.com重定向到exmple2.com并且har文件没有提供太多:(
这是我做过的一些测试:
这里有一些测试结果: firefox 49 2.0.0根本不起作用 firefox 49 2.1.2根本不工作 firefox 48 2.1.2根本不工作
firefox 47 2.1.2工作但是很小 firefox 47 2.0.0工作har文件更大 firefox 47 2.1.0工作har是中等大 firefox 47 2.1.1作品,它是最大的
然后我也测试了firefox 46并得到了相同的结果......
我记得几年前我也得到了相同代码的重定向,现在可以得到它:(
答案 0 :(得分:1)
您是否尝试过通过Browsermob创建WebDriver :: Proxy。
e.g。
profile.proxy = @@proxy.selenium_proxy :http, :ssl
此外,BrowsermobProxy本身通常在9090上运行,所以当您尝试在9090上创建代理时,我原本期望发生端口冲突。如果您使用上面的代码,则无需指定端口。
e.g。
@@proxy = server.create_proxy