Python获取HTTP请求的状态码(200,404等)

查看:529
本文介绍了Python获取HTTP请求的状态码(200,404等)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

Python获取HTTP请求的状态码(200,404等),不访问整个页面源码,那样太浪费资源:

输入:segmentfault.com 输出:200
输入:segmentfault.com/nonexistant 输出:404

解决方案

参考文章:Python实用脚本清单

http不只有get方法(请求头部+正文),还有head方法,只请求头部

import httplib

def get_status_code(host, path="/"):
    """ This function retreives the status code of a website by requesting
        HEAD data from the host. This means that it only requests the headers.
        If the host cannot be reached or something else goes wrong, it returns
        None instead.
    """
    try:
        conn = httplib.HTTPConnection(host)
        conn.request("HEAD", path)
        return conn.getresponse().status
    except StandardError:
        return None
        
print get_status_code("segmentfault.com") # prints 200
print get_status_code("segmentfault.com", "/nonexistant") # prints 404

这篇关于Python获取HTTP请求的状态码(200,404等)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆