[修复了网站代码以使用CDN(将所有网址重写为图片,js和CSS之后,我需要测试域上的所有页面,以确保从CDN中获取了所有资源。
所有站点页面都可以通过链接访问,没有孤立的页面。
当前,我正在使用FireBug并检查“ Net”视图...
有没有一种自动的方法来提供域名并请求该域的所有页面和资源?
更新:
[确定,我发现可以这样使用wget
:
wget -p --no-cache -e robots=off -m -H -D cdn.domain.com,www.domain.com -o site1.log www.domain.com
解释的选项:
-p
-也下载资源(图像,css,js等)--no-cache
-获取真实对象,不返回服务器缓存的对象-e robots=off
-忽略robots
和no-follow
方向]-m
-镜像站点(跟随链接)-H
-跨主机(也跟随其他域)]-D cdn.domain.com,www.domain.com
-指定要跟随的女巫域,否则将跟随页面中的每个链接-o site1.log
-登录到文件site1.log-U "Mozilla/5.0"
-可选:伪造用户代理-如果服务器为不同的浏览器返回不同的数据,则很有用]www.domain.com
-下载站点享受!
wget
文档中包含以下内容:
实际上是下载一个页面及其所有要求(即使它们存在于单独的网站上),并确保批次显示在本地适当使用,该作者还喜欢使用一些其他选项到“ -p”:
wget -E -H -k -K -p http://site/document
键是-H
选项,表示--span-hosts -> go to foreign hosts when recursive
。我不知道这是否也代表普通的超链接或仅代表资源,但您应该尝试一下。
您可以考虑采用其他策略。您无需下载资源即可测试是否已从CDN引用了这些资源。您可以只获取感兴趣页面的源代码(可以像以前一样使用wget
或curl
或其他方式),也可以:
<img />
,<link />
和<script />
中的每个CDN链接。 您还应检查所有CSS文件中的url()
链接-它们也应指向CDN图像。根据合并逻辑,您可能需要检查JavaScript代码不会创建任何非CDN的图像。
下载的文件在哪里?我知道此线程已使用6年,但我仍在询问..