当网页使用请求重定向时,如何sys.exit

时间:2018-12-07 16:35:24

标签: python python-requests

所以我的想法是基本上要使页面重定向时的某些操作简单一些,而只需退出脚本即可。含义:

合法页面:https://www.stackoverflow.com 重定向:https://www.stackoverflow.com/Helloworld

现在我正在使用

import requests

try:
    r = requests.get('https://www.stackoverflow.com')
    print r.status_code

except:
    sys.exit()

我想做的是无论何时requests.get被重定向。它应该碰到例外,以后我可以使用sys.exit(),或者如果重定向,它应该总体上sys.exit()

1 个答案:

答案 0 :(得分:0)

所有重定向的状态码都将类似于3xx(您可以在the HTTP standard中看到)。您可以检查状态码,并使用正则表达式将其与该模式匹配。如果符合该模式,则退出。

import re
import sys
import requests

r = requests.get('https://www.stackoverflow.com')
if re.search(r'^3', str(r.status_code)):
    sys.exit()

[ EDIT ]:在str周围省略了r.status_code,因为它是整数。