某些Web服务器使用符号链接或其他启发式方式将请求重定向到真实资源。如果您的脚本以递归方式跟随网页中的链接,则此服务器行为可能导致同一文件在无限循环中以不同的路径名重复下载。
一些具体示例将有助于说明问题:
此链接:https://www.w3.org/Style/CSS/members/People/CSS/People/images/images
提供与以下文件相同的文件:https://www.w3.org/Style/CSS/members/People/CSS/People/
与此相同:https://www.w3.org/Style/CSS/members/People/
提供与以下文件相同的文件:https://www.w3.org/WAI/EO/Minutes/2002/2002/2002/2003/2003/2004/2004/Drafts/2003/Drafts/impl/Drafts/2004/0123.html
与此相同:https://www.w3.org/WAI/EO/Minutes/2003/2003/2004/2004/Drafts/2003/Drafts/impl/Drafts/2004/0123.html
我想知道如何检测这些循环?网络服务器什么时候将我重定向到另一个URL /路径?
我正在使用Python urllib.request.urlopen(url)发出请求。我正在使用.geturl()方法对照请求的URL检查收到的URL。有时,我会在url中看到一些区别,但以上任何示例都不会。