Python 请求库 - 将 URL 标记为非活动的 is_permanent_redirect 和 is_redire



我想了解URL是否处于非活动状态。

对于此任务,我将使用requests库。我将使用不同的标记来了解 URL 是否处于非活动状态。

一个来自标记将被redirects.

如果非活动网站对另一个网站进行了重定向,则表示该网站处于非活动状态。

我想用于requests库中的is_permanent_redirectis_redirect

我的任务需要什么is_permanent_redirectis_redirect

如何使用is_permanent_redirectis_redirect为此任务编写更好的代码?

Python 请求库具有以下选项:

  • 处理默认重定向
  • 获取重定向并找出所需的更改

为了手动处理重定向,我们需要使用以下属性:allow_redirects=False

例如:

>>>import requests
>>> r = requests.get('http://github.com/', allow_redirects=False )
>>> r.is_redirect
True
>>> r.is_permanent_redirect
True

谈到is_permanent_redirectis_redirect之间的区别,通过他们的代码,我可以看到以下检查:

is_redirect:这将检查所有 3xx 状态代码,例如

codes.moved,               # 301
codes.found,               # 302
codes.other,               # 303
codes.temporary_redirect,  # 307
codes.permanent_redirect,  # 308

is_permanent_redirect:这仅检查

codes.temporary_redirect,  # 307
codes.permanent_redirect,  # 308

这应该为您提供有关实际 300 状态代码的更多信息:https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#3xx_Redirection

我的建议是,如果您将is_redirect用于您的用例,这应该足以捕获所有移动的 URL。这样,您可以查看 URL 是否处于非活动状态。然而,这取决于您选择的何时将 URL 标记为非活动状态。

相关内容

最新更新