我正在构建一个用于分析电子邮件的工具,以尝试确定它们是否为网络钓鱼,并且我想查看电子邮件中的任何链接是否重定向,以及它们是否执行了多少次以及到何处。我当前正在使用请求库来处理所有这些内容,并且为了获取链接的历史记录,您必须调用.get()。这样可以对潜在的恶意URL进行安全处理吗?如果没有,是否可以以任何方式获取重定向信息而又不会使我的计算机受到威胁?
答案 0 :(得分:3)
您可以使用allow_redirects=True
发送HEAD请求:
>>> url = "http://stackoverflow.com/q/57298432/7954504"
>>> resp = requests.request(
... "HEAD",
... url,
... allow_redirects=True
... )
>>> resp.history
[<Response [301]>, <Response [302]>]
>>> [i.url for i in resp.history]
['http://stackoverflow.com/q/57298432/7954504', 'https://stackoverflow.com/q/57298432/7954504']
并不是说这是万灵药。要考虑的另一件事是本着“当您看到一个URL时便会看到一个cr脚的URL”的精神在URL本身上添加一些启发式方法。 (我喜欢使用yarl
分析URL。)例如:
...等等。