首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WireMock可以播放来自多个域名的请求吗?

WireMock可以播放来自多个域名的请求吗?
EN

Stack Overflow用户
提问于 2017-01-05 06:37:37
回答 0查看 1.6K关注 0票数 3

我正在构建一个Dockerised化的录音回放系统来帮助我记录网站,这样我就可以针对本地版本而不是真正的版本设计刮刀。这意味着我不会用自动请求淹没网站,并且有一个额外的优势,那就是我不需要连接到web来工作。

我在内部使用了基于Java的WireMock,它使用Wget从站点抓取队列中记录。我使用WireMock API从它记录的映射中读取各种信息。

然而,我从一个映射响应中发现,域信息似乎没有被记录下来(除非它意外地出现在响应头中)。请参阅来自__admin/mappings的以下响应

代码语言:javascript
复制
{

    "result": {
        "ok": true,
        "list": [
            {
                "id": "794d609f-99b9-376d-b6b8-04dab161c023",
                "uuid": "794d609f-99b9-376d-b6b8-04dab161c023",
                "request": {
                    "url": "/robots.txt",
                    "method": "GET"
                },
                "response": {
                    "status": 404,
                    "bodyFileName": "body-robots.txt-j9qqJ.txt",
                    "headers": {
                        "Server": "nginx/1.0.15",
                        "Date": "Wed, 04 Jan 2017 21:04:40 GMT",
                        "Content-Type": "text/html",
                        "Connection": "keep-alive"
                    }
                }
            },
            {
                "id": "e246fac2-f9ad-3799-b7b7-066941408b8b",
                "uuid": "e246fac2-f9ad-3799-b7b7-066941408b8b",
                "request": {
                    "url": "/about/careers/",
                    "method": "GET"
                },
                "response": {
                    "status": 200,
                    "bodyFileName": "body-about-careers-GhVqy.txt",
                    "headers": {
                        "Server": "nginx/1.0.15",
                        "Date": "Wed, 04 Jan 2017 21:04:35 GMT",
                        "Content-Type": "text/html",
                        "Last-Modified": "Wed, 04 Jan 2017 12:52:12 GMT",
                        "Connection": "keep-alive",
                        "X-CACHE-URI": "/about/careers/",
                        "Accept-Ranges": "bytes"
                    }
                }
            },
            {
                "id": "def378f5-a93c-333e-9663-edcd30c936d7",
                "uuid": "def378f5-a93c-333e-9663-edcd30c936d7",
                "request": {
                    "url": "/about/careers/feed/",
                    "method": "GET"
                },
                "response": {
                    "status": 200,
                    "bodyFileName": "body-careers-feed-Fd2fO.xml",
                    "headers": {
                        "Server": "nginx/1.0.15",
                        "Date": "Wed, 04 Jan 2017 21:04:45 GMT",
                        "Content-Type": "application/rss+xml; charset=UTF-8",
                        "Transfer-Encoding": "chunked",
                        "Connection": "keep-alive",
                        "X-Powered-By": "PHP/5.3.3",
                        "Vary": "Cookie",
                        "X-Pingback": "http://www.example.com/xmlrpc.php",
                        "Last-Modified": "Thu, 06 Jun 2013 14:01:52 GMT",
                        "ETag": "\"765fc03186b121a764133349f8b716df\"",
                        "X-Robots-Tag": "noindex, follow",
                        "Link": "<http://www.example.com/?p=2680>; rel=shortlink",
                        "X-CACHE-URI": "null cache"
                    }
                }
            },
            {
                "id": "616ca6d7-6e57-4c10-8b57-f6f3dabc0930",
                "uuid": "616ca6d7-6e57-4c10-8b57-f6f3dabc0930",
                "request": {
                    "method": "ANY"
                },
                "response": {
                    "status": 200,
                    "proxyBaseUrl": "http://www.example.com"
                },
                "priority": 10
            }
        ]
    }

}

唯一清晰的网址记录是在针对proxyBaseUrl的最终条目中,考虑到我必须specify a URL in the console call,我现在担心如果我针对不同的域进行记录,每个域名来自的域名将会丢失。

这意味着在回放模式下,WireMock只能从一个域回放,而我必须重新启动它并将其指向另一个缓存,以便回放不同的站点。这对于我的用例是不可行的,那么有没有解决这个问题的方法呢?

(虽然我发现WireMock通常更容易使用,但我已经做了一些Mountebank方面的工作,并愿意切换到它。我对Mountebank的有限理解是,它存在相同的单域问题,尽管我很高兴在这一点上得到纠正。如果放弃WireMock是唯一的方法,我很乐意换成任何健壮的开源API驱动的记录器HTTP proxy )。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41474410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档