You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Wiremock拦截客户端硬编码的第三方API请求并返回Stub响应

解决方案

完全可以实现,以下是两种经过验证的可行方案:

方案1:通过客户端代理配置实现(优先推荐)

这种方案无需修改系统级配置,适配性最高:

  • 启动Wiremock时开启代理模式,添加启动参数 --enable-browser-proxying
  • 初始化Braintree客户端时,将其HTTP代理地址配置为Wiremock的监听地址(例如本地运行的话默认是127.0.0.1:8080)
  • 编写Stub规则时显式匹配目标主机头即可,参考示例:
stubFor(post(urlEqualTo("/merchants/你的商户ID/transactions"))
    .withHost(equalTo("api.sandbox.braintreegateway.com"))
    .willReturn(aResponse()
        .withStatus(200)
        .withBody("预设的响应内容"))
);

注意:你需要提前将Wiremock的自签名根证书导入到测试环境的信任证书库中,避免HTTPS请求报证书校验错误

方案2:修改本地Hosts + Wiremock监听443端口

如果不想修改Braintree客户端的任何配置,可以用这种方案:

  • 修改本地系统Hosts文件,添加规则 127.0.0.1 api.sandbox.braintreegateway.com
  • 启动Wiremock时指定监听端口为443,同时配置带有api.sandbox.braintreegateway.com域名的TLS证书
  • 编写正常的Stub规则即可,不需要额外匹配主机头
    注意:该方案会影响当前主机所有发往Braintree沙箱地址的请求,仅适合纯测试环境使用

内容的提问来源于stack exchange,提问作者JoeyHolloway

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 14:36:02