browsermob-proxy
browsermob-proxy copied to clipboard
Chrome says "This site can't be reached" while opening the given URL.
The given URL is not opening the launched browser, whereas it is creating the empty har file. The same issue happens with chrome and firefox as well.
#brorswermob-proxy #java Error com.google.common.util.concurrent.ExecutionError: java.lang.NoSuchFieldError: id_tc26_signwithdigest_gost_3410_12_256 at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2216) at com.google.common.cache.LocalCache.get(LocalCache.java:4147) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5053) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.getHostnameImpersonatingSslContext(ImpersonatingMitmManager.java:242) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.clientSslEngineFor(ImpersonatingMitmManager.java:223) at org.littleshoot.proxy.impl.ProxyToServerConnection$3.execute(ProxyToServerConnection.java:724) at org.littleshoot.proxy.impl.ConnectionFlow.doProcessCurrentStep(ConnectionFlow.java:140) at org.littleshoot.proxy.impl.ConnectionFlow.processCurrentStep(ConnectionFlow.java:128) at org.littleshoot.proxy.impl.ConnectionFlow.advance(ConnectionFlow.java:90) at org.littleshoot.proxy.impl.ConnectionFlowStep.onSuccess(ConnectionFlowStep.java:83) at org.littleshoot.proxy.impl.ConnectionFlow$2.operationComplete(ConnectionFlow.java:149) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:507) at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:481) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:420) at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:163) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) at org.littleshoot.proxy.impl.ConnectionFlow.doProcessCurrentStep(ConnectionFlow.java:140) at org.littleshoot.proxy.impl.ConnectionFlow.access$000(ConnectionFlow.java:14) at org.littleshoot.proxy.impl.ConnectionFlow$1.run(ConnectionFlow.java:124) at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:73) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:464) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoSuchFieldError: id_tc26_signwithdigest_gost_3410_12_256 at org.bouncycastle.operator.jcajce.OperatorHelper.(Unknown Source) at org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.(Unknown Source) at net.lightbody.bmp.mitm.tools.BouncyCastleSecurityProviderTool.getCertificateSigner(BouncyCastleSecurityProviderTool.java:333) at net.lightbody.bmp.mitm.tools.BouncyCastleSecurityProviderTool.createServerCertificate(BouncyCastleSecurityProviderTool.java:99) at net.lightbody.bmp.mitm.tools.DefaultSecurityProviderTool.createServerCertificate(DefaultSecurityProviderTool.java:43) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.createImpersonatingSslContext(ImpersonatingMitmManager.java:308) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.createImpersonatingSslContext(ImpersonatingMitmManager.java:271) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.access$3(ImpersonatingMitmManager.java:264) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager$3.call(ImpersonatingMitmManager.java:245) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager$3.call(ImpersonatingMitmManager.java:1) at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:5058) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3708) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2416) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2299) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2212) ... 25 more WARN DefaultPromise: An exception was thrown by org.littleshoot.proxy.impl.ConnectionFlow$2.operationComplete() com.google.common.util.concurrent.ExecutionError: java.lang.NoClassDefFoundError: Could not initialize class org.bouncycastle.operator.jcajce.OperatorHelper at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2216) at com.google.common.cache.LocalCache.get(LocalCache.java:4147) at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:5053) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.getHostnameImpersonatingSslContext(ImpersonatingMitmManager.java:242) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.clientSslEngineFor(ImpersonatingMitmManager.java:223) at org.littleshoot.proxy.impl.ProxyToServerConnection$3.execute(ProxyToServerConnection.java:724) at org.littleshoot.proxy.impl.ConnectionFlow.doProcessCurrentStep(ConnectionFlow.java:140) at org.littleshoot.proxy.impl.ConnectionFlow.processCurrentStep(ConnectionFlow.java:128) at org.littleshoot.proxy.impl.ConnectionFlow.advance(ConnectionFlow.java:90) at org.littleshoot.proxy.impl.ConnectionFlowStep.onSuccess(ConnectionFlowStep.java:83) at org.littleshoot.proxy.impl.ConnectionFlow$2.operationComplete(ConnectionFlow.java:149) at io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:507) at io.netty.util.concurrent.DefaultPromise.notifyListenersNow(DefaultPromise.java:481) at io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:420) at io.netty.util.concurrent.DefaultPromise.addListener(DefaultPromise.java:163) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:93) at io.netty.channel.DefaultChannelPromise.addListener(DefaultChannelPromise.java:28) at org.littleshoot.proxy.impl.ConnectionFlow.doProcessCurrentStep(ConnectionFlow.java:140) at org.littleshoot.proxy.impl.ConnectionFlow.access$000(ConnectionFlow.java:14) at org.littleshoot.proxy.impl.ConnectionFlow$1.run(ConnectionFlow.java:124) at io.netty.util.concurrent.PromiseTask$RunnableAdapter.call(PromiseTask.java:38) at io.netty.util.concurrent.PromiseTask.run(PromiseTask.java:73) at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:399) at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:464) at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:131) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.bouncycastle.operator.jcajce.OperatorHelper at org.bouncycastle.operator.jcajce.JcaContentSignerBuilder.(Unknown Source) at net.lightbody.bmp.mitm.tools.BouncyCastleSecurityProviderTool.getCertificateSigner(BouncyCastleSecurityProviderTool.java:333) at net.lightbody.bmp.mitm.tools.BouncyCastleSecurityProviderTool.createServerCertificate(BouncyCastleSecurityProviderTool.java:99) at net.lightbody.bmp.mitm.tools.DefaultSecurityProviderTool.createServerCertificate(DefaultSecurityProviderTool.java:43) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.createImpersonatingSslContext(ImpersonatingMitmManager.java:308) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.createImpersonatingSslContext(ImpersonatingMitmManager.java:271) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager.access$3(ImpersonatingMitmManager.java:264) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager$3.call(ImpersonatingMitmManager.java:245) at net.lightbody.bmp.mitm.manager.ImpersonatingMitmManager$3.call(ImpersonatingMitmManager.java:1) at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:5058) at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3708) at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2416) at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2299) at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2212) ... 25 more
Code
package makemyhar;
import java.net.Inet4Address; import java.net.UnknownHostException; import java.util.Arrays; import java.util.List;
import org.openqa.selenium.Proxy; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.Assert; import org.testng.annotations.Test;
import net.lightbody.bmp.BrowserMobProxy; import net.lightbody.bmp.BrowserMobProxyServer; import net.lightbody.bmp.client.ClientUtil; import net.lightbody.bmp.core.har.HarEntry;
public class test { @test public test() throws Exception { System.setProperty("webdriver.chrome.driver", "/Users/srajendran/Desktop/chromedriver"); DesiredCapabilities capabilities = new DesiredCapabilities(); BrowserMobProxy proxy = getProxyServer(); // getting browsermob proxy Proxy seleniumProxy = getSeleniumProxy(proxy); capabilities.setCapability(CapabilityType.PROXY, seleniumProxy); capabilities.setCapability("chrome.switches", Arrays.asList("--ignore-certificate-errors")); WebDriver driver = new ChromeDriver(capabilities); proxy.newHar("test.har"); // creating new HAR driver.get("http://www.google.com"); List entries = proxy.getHar().getLog().getEntries(); for (HarEntry entry : entries) { System.out.println(entry.getRequest().getUrl()); } proxy.stop(); driver.close(); }
public Proxy getSeleniumProxy(BrowserMobProxy proxyServer) { Proxy seleniumProxy = ClientUtil.createSeleniumProxy(proxyServer); try { String hostIp = Inet4Address.getLocalHost().getHostAddress(); seleniumProxy.setHttpProxy(hostIp + ":" + proxyServer.getPort()); seleniumProxy.setSslProxy(hostIp + ":" + proxyServer.getPort()); } catch (UnknownHostException e) { e.printStackTrace(); Assert.fail("invalid Host Address"); } return seleniumProxy; }
public BrowserMobProxy getProxyServer() { BrowserMobProxy proxy = new BrowserMobProxyServer(); proxy.setTrustAllServers(true); proxy.start(); return proxy; } }
After searching for some time I found this, I added all dependencies from this file's zipfileset and it works finally. Thanks to @ms777!
After searching for some time I found this, I added all dependencies from this file's zipfileset and it works finally. Thanks to @ms777!
which dependencies?
After searching for some time I found this, I added all dependencies from this file's zipfileset and it works finally. Thanks to @ms777!
which dependencies?
The jars listed in zipfileset tags, such as slf4j-api-1.7.26
, slf4j-simple-1.7.26
, netty-all-4.1.34.Final
and so on.