Python récupère le code d'état de la requête HTTP (200, 404, etc.)
欧阳克
欧阳克 2017-06-28 09:25:31
0
2
1131

Python récupère le code d'état de la requête HTTP (200, 404, etc.) sans accéder à l'intégralité du code source de la page, ce qui est un gaspillage de ressources :

输入:segmentfault.com 输出:200
输入:segmentfault.com/nonexistant 输出:404
欧阳克
欧阳克

温故而知新,可以为师矣。 博客:www.ouyangke.com

répondre à tous(2)
ringa_lee

Article de référence : Liste des scripts Python pratiques

http n'est pas seulement 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
刘奇

Vous utilisez la méthode get请求就会请求整个头部+正文, 可以试下head pour accéder directement à l'en-tête !

import requests
html = requests.head('http://segmentfault.com')    # 用head方法去请求资源头部
print html.status_code  # 状态码

html = requests.head('/nonexistant')   # 用head方法去请求资源头部
print html.status_code   # 状态码

# 输出:
200
404
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal