Python 如何对使用404错误页的url上的请求生成404错误
我正在使用Python 如何对使用404错误页的url上的请求生成404错误,python,python-3.x,http-status-code-404,urllib,Python,Python 3.x,Http Status Code 404,Urllib,我正在使用urllib.request从url下载,并使用try和except块处理404错误。但是有些站点使用自定义404页面,而不是抛出错误,urllib.request会考虑找到的资源,而except块无法处理适当的操作。我想知道当运行到自定义404页面时,是否有方法让请求知道何时找不到资源 编辑:为了弄清楚一点,http返回404页面的主体,状态为200 ok。遇到自定义404时,http响应的状态代码是什么?它可能返回为200 OK,而响应正文仅表示错误。是的,它返回200 OK,正文
urllib.request
从url下载,并使用try
和except
块处理404错误。但是有些站点使用自定义404页面,而不是抛出错误,urllib.request
会考虑找到的资源,而except
块无法处理适当的操作。我想知道当运行到自定义404页面时,是否有方法让请求知道何时找不到资源
编辑:为了弄清楚一点,http返回404页面的主体,状态为200 ok。遇到自定义404时,http响应的状态代码是什么?它可能返回为200 OK,而响应正文仅表示错误。是的,它返回200 OK,正文为@Adam_92。在这种情况下,您必须解析响应正文以确定是否存在错误,因为200响应不会引发任何异常。@Adam_92解析正文不是一个好主意,由于不同的站点将具有不同类型的自定义404页面,如果站点返回错误时的200状态码,则必须解析响应正文以确定是否返回了错误。另一种选择是,假设您有一个成功的响应,尝试解析内容,如果解析失败,则假设存在HTTP错误并引发异常。