Python Http,从服务器获取响应代码

时间:2018-07-02 12:56:28

标签: python http response

我想从Web服务器获取响应代码,但有时即使页面不存在并且我也不知道如何处理它,我仍然获得代码200。

我正在使用以下代码:

def checking_url(link):
    try:  
            link = urllib.request.urlopen(link)
            response = link.code
    except urllib.error.HTTPError as e:
            response =  e.code
    return response

当我检查这样的网站时: https://www.wykop.pl/notexistlinkkk/

即使该页面不存在,它仍然返回代码200。 有什么解决办法吗?

我找到了解决方案,现在可以在更多网站上进行测试 我必须使用http.client。

2 个答案:

答案 0 :(得分:1)

您正在获取响应代码200,因为您正在检查的网站具有自动重定向。在您提供的URL中,即使您指定了不存在的页面,它也会自动将您重定向到主页,而不是返回404状态代码。您的代码可以正常工作。

答案 1 :(得分:0)

import urllib2


thisCode = None 

try:
    i = urllib2.urlopen('http://www.google.com')
    thisCode = i.code
except urllib2.HTTPError, e:
    thisCode = e.code


print thisCode