charles(http snoffer)可能是什么原因不能捕获htmlUnit请求?

时间:2015-04-16 10:18:16

标签: java http junit htmlunit

我有测试,我得到了页面(在htmlUnit的帮助下)我可以打印该页面的内容,即htmlUnit工作正确并且可以很好地加载我的页面,但我需要看看该页面如何加载所有资源(css,js和其他资源)。

我的HTTP嗅探(查尔斯)无法捕获页面加载。 在这种情况下可能出现什么问题?

3 个答案:

答案 0 :(得分:0)

  

我的http sniff(charles)无法捕获页面加载。在这种情况下可能有什么问题?

当您尝试嗅探本地流量时,可能会发生这种情况。有关解决方法,请参阅Localhost traffic doesn't appear in Charles

答案 1 :(得分:0)

这是决定性的 最终的WebClient webClient =新的WebClient(BrowserVersion.FIREFOX_10," myproxyserver",myProxyPort);

答案 2 :(得分:0)

HtmlUnit需要自己的代理设置。

  1. 使用Charles时,Reals浏览器(IE,FF)的代理配置将自动从Charles调整。但Charles并没有为HtmlUnit提供这种便利。
  2. 请记住,HtmlUnit不使用java代理设置。您必须在启动WebClient时配置它;例如新的WebClient(BrowserVersion.FIREFOX_31,“localhost”,8888);
  3. 与真实浏览器一样,您可以使用其他选项来配置要绕过的主机。为此,您可以创建一个新的ProxyConfig; addHostsToProxBypass和我们webClient.getOptions.setProxyConfig一起激活你的新ProxyConfig。
  4. 最后还有另一种选择。 HtmlUnit内部使用HttpClient。这意味着,您可以启用HttpClient有线日志(通过'org.apache.http.wire')来查看日志中的所有传输信息。