[工程架构思考-请求] JavaScript获得network面板的所有请求域名-use-JavaScript-to-get-all-hosts-of-requests-in-chrome-network-panel

34 阅读1分钟
  1. 到network面板, copy all as har

image

  1. 在console面板中, 将copy的内容赋值给networkRequests变量
  2. 执行下面的代码
function UrlRegEx(url) {
    //如果加上/g参数,那么只返回$0匹配。也就是说arr.length = 0
    var re = /(\w+):\/\/([^\:|\/]+)(\:\d*)?(.*\/)([^#|\?|\n]+)?(#.*)?(\?.*)?/i;
    //re.exec(url);
    var arr = url.match(re);
    return arr;

}

function getHost(url) {
    return UrlRegEx(url)[2];
}
var requests = networkRequest.log.entries
var all_urls = []
requests.forEach(item => {
    all_urls.push(getHost(item.request.url))
})

var finalUrls = {}
all_urls.forEach(item=>{
    finalUrls[item] = ''
})
JSON.stringify(Object.keys(finalUrls))