zoukankan      html  css  js  c++  java
  • BrowserMob proxy

    简述:获取浏览器network中的请求与响应  --BrowserMob proxy

    捣鼓了两三天,踩了不少个坑,终于可以用了,网上.NET资料少的可怜,真的都是泪

    一.BrowserMob proxy如何配合Selenium使用?

    1.需要下载BrowserMob proxy的类库:Here【有些地方要改的  :( 】

    2.下载BrowserMob proxy插件,插件:Here

    3.下载Selenium类库,从Nuget下载最新的就可以了

    刚开始使用BrowserMob proxy遇到的坑:

    1.还是要说一下关于.NET资料这个资料少的可怜,过了捣鼓大半天,才跑起来,遇到的第一个问题就是,拿到的GetHar()之后拿不到数据,entries为0

    不断地调试后发现,只能拿到Http网页的responce,绝望了呀,现在都是HTTPs的网址,于是又翻过去找【外面的资料更多亿点,内部看不到有人讨论】

    说是要设置SslProxy属性为True,这个设置之后连接不上网络了,我去,调试ssl错误。有人说ssl错误的原因是要给浏览器安装信任证书,我去,越来越玄学。

    我又捣鼓信任证书,结果还是不管用,我直接跑到插件GIT的开源里面看,发现他们说selenium没有安装信任证书的api,所以必须手动安装。【吃瓜中】

    最后终于在国外的GOOGLE Group 关于这个话题的讨论中得到了一些有用的信息:Here 【外国楼主也在纠结为啥获取不了https的response】【吃瓜中】

    最后问题解决了,他们好像也不太清楚,到底为啥,反正就是版本问题了,我一看我的BrowserMob proxy插件版本2.0 bate版本,我觉得不能啊,我这可是从官网下的最新版本。

    可是为啥他们用的版本比我的还高。我日,原来官方下载的时候自己给我下了这个低版本的。我去【想吐槽】

    最后的最后,我吧新的插件下载了出来,访问了百度。 终···············于获得了28条entries,哈哈·······················

    最让我傻眼的来了,我发现返回的27条里面只有请求,没有response的content。。哈哈返回的json没有。。。。。。。。。。。。。。

    人傻了,别搞好吧,都到最后了,让我弄完吧,气死我了,只要request中url的一些类型信息的话2行JS就搞定了好不

    最后更可怕的来了,这个问题很快搜索到了,发现需要开启一个属性capturecontent,例子他们都是java和python,C#找不到这个属性,这个是最绝望的,凭啥差别对待啊~~~~~~~~

    在我快绝望的时候,看到了一个外国友人也有同样的提问,问的人真就只有一两个。。。。这里:Here 启发了我,去修改类库的内容,这个大哥说了最后这配置都是要形成一个url字符串然后传给插件的,所以

    我这个时候只能自己构造一串字符,最后真的成功了,哈哈~~~~~~~~~~~完美!

    最后美滋滋的获取到了response返回的Json,可以为所欲为了~~~哈哈

    EnD

    在这里就不太多写了,额,其实已经不少了,为什么我这么多废话呢?因为我在找资料的的时候真的太累了,有太多要吐槽的东西了,

    为了这玩意我,还把python下载下来,学了一上午python然后调用插件的时候出现一样的错误,不可以范围内https的网站。。哎我都在想要不要混合编程算了,因为.net真的伤不起,后娘养的

    为了一上午python发现,Visual Studio果然是世界上最好用的编辑器,其他的真心u用不惯.现在我发现好多东西关于.net的教程都好少,官方网站都没有。net的用力有的都是java和python。。。

    要不要学一学python,因为我发现python上手也太快了吧。。

    以上都是我吐槽的点:

    最后代码奉上,直接跑起来,那这么多废话,大家的事件都挺宝贵的是吧。

    Git:Click

     

  • 相关阅读:
    c#自动更新+安装程序的制作
    VS2013项目受源代码管理向源代码管理注册此项目时出错
    WinDbg配置和使用基础
    InstallShield Limited Edition for Visual Studio 2013 图文教程(教你如何打包.NET程序)
    PowerDesigner 如何生成数据库更新脚本
    用户故事(User Story)
    Troubleshooting Record and Playback issues in Coded UI Test
    Coded UI
    compare two oracle database schemas
    How to: Use Schema Compare to Compare Different Database Definitions
  • 原文地址:https://www.cnblogs.com/tangpeng97/p/12822243.html
Copyright © 2011-2022 走看看