2016-06-09 85 views
1

我寫過一個從firefox瀏覽器獲取har數據的類。以json和字符串格式獲取Har數據

我想獲取JSON格式的har數據以正確顯示。

我的代碼:

ProxyServer server = new ProxyServer(4444); 
    server.start(); 

    //captures the moouse movements and navigations 
    server.setCaptureHeaders(true); 
    server.setCaptureContent(true); 

    // get the Selenium proxy object 
    Proxy proxy = server.seleniumProxy(); 

    // configure it as a desired capability 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(CapabilityType.PROXY, proxy); 

    // start the browser up 
    WebDriver driver = new FirefoxDriver(capabilities); 

    // create a new HAR with the label "apple.com" 
    server.newHar("yahoo.com"); 

    // open yahoo.com 
    driver.get("http://yahoo.com"); 

    // get the HAR data 
    net.lightbody.bmp.core.har.Har har = server.getHar(); 

五月任何人幫助我得到的JSON格式字符串太HAR數據!

回答

1

對不起,對於遲到的答案。

希望它可以幫助別人在這裏。

您可以使用StringWriter將Har寫入字符串。所以你可以像弦一樣得到har。而且,您可以使用Gson解析該字符串以獲取JSON對象。

net.lightbody.bmp.core.har.Har har = server.getHar(); 

java.io.StringWriter writer = new java.io.StringWriter(); 
try { 
      har.writeTo(writer); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

String harAsString = writer.toString(); 

com.google.gson.JsonElement harAsJson = new com.google.gson.Gson().toJsonTree(writer.toString());