• mock server 实践 at 2020年12月05日

    public void setGlobalProxy(ServerClient server, String proxyAddress, HttpForward.Scheme scheme){

    int port = scheme == HttpForward.Scheme.HTTPS?443:80;
    boolean isSecure = scheme == HttpForward.Scheme.HTTPS;

    Expectation proxyExpectation = new Expectation(
    request().withPath("/.*")
    ).withPriority(-1).thenForward(
    HttpOverrideForwardedRequest.forwardOverriddenRequest(
    request().withHeader("Host",proxyAddress)
    .withSocketAddress(proxyAddress,port)
    .withSecure(isSecure)
    )
    );

    server.upsert(proxyExpectation);
    }
    分享就有点不敢了,水平太差,大佬有兴趣的话,可以看下 apache mockserver 源码里的 example module,结合 mockserver-core module 的测试类来看体验更好,那里面有基本场景的代码样例。

  • mock server 实践 at 2020年12月05日


    这个坑,可以用框架的另外一个功能解决掉:定义一个全局的、优先级为-1 的、匹配规则为/* 的 override 期望,在转发之前重写请求,获取原请求的 host 或者其他请求头信息,添加到转发请求里,类似图中这样的。最近在用这个 apache mockserver 搭部门的 mock 平台,也遇到了这个问题。顺便强烈建议大佬尝试下这个框架的录制回放功能,贼好用。

  • charles 抓包 https 乱码 at 2020年05月19日

    ios 低版本系统好像需要设置个什么完全信任该证书,也在通用设置里面。不过这跟自动化工具啥关系