cari

Rumah  >  Soal Jawab  >  teks badan

Python mendapat kod status permintaan HTTP (200, 404, dsb.)

Python mendapat kod status permintaan HTTP (200, 404, dsb.) tanpa mengakses keseluruhan kod sumber halaman, yang merupakan pembaziran sumber:

输入:segmentfault.com 输出:200
输入:segmentfault.com/nonexistant 输出:404
欧阳克欧阳克2782 hari yang lalu1169

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-06-28 09:27:31

    Artikel rujukan: Senarai skrip Python praktikal

    http bukan sahaja 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

    balas
    0
  • 怪我咯

    怪我咯2017-06-28 09:27:31

    Anda menggunakan kaedah get请求就会请求整个头部+正文, 可以试下head untuk mengakses terus pengepala!

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

    balas
    0
  • Batalbalas