2009-11-17 16 views
9
import httplib 
    conn = httplib.HTTPConnection(head) 
    conn.request("HEAD",tail) 
    res = conn.getresponse() 

Puedo obtener el res.status, que es el código de estado http.En Python, ¿qué devuelve getresponse()?

¿Qué otros elementos puedo obtener? ¿Por qué cuando imprimo res, no imprime el diccionario? Solo quiero ver las claves que están en ese diccionario ...

Respuesta

21

Siempre puede inspeccionar un objeto usando dir; eso te mostrará qué atributos tiene.

>>> import httplib 
>>> conn = httplib.HTTPConnection("www.google.nl") 
>>> conn.request("HEAD", "/index.html") 
>>> res = conn.getresponse() 
>>> dir(res) 
['__doc__', '__init__', '__module__', '_check_close', '_method', '_read_chunked', '_read_status', '_safe_read', 'begin', 'chunk_left', 'chunked', 'close', 'debuglevel', 'fp', 'getheader', 'getheaders', 'isclosed', 'length', 'msg', 'read', 'reason', 'status', 'strict', 'version', 'will_close'] 

Del mismo modo, puede invocar help, que mostrará la documentación de un objeto, si se tiene un atributo __doc__. Como se puede ver, este es el caso de res, a fin de tratar:

>>> help(res) 

Aparte de eso, la documentación indica que getresponse devuelve un objeto HTTPResponse. Por lo tanto, como se puede leer allí (y en help(res)), las siguientes propiedades y métodos se definen en HTTPResponse objetos:

  • HTTPResponse.read([amt]): Lee y devuelve el cuerpo de la respuesta, o hasta los próximos bytes AMT.

  • HTTPResponse.getheader(name[, default]): Obtenga el contenido del nombre del encabezado, o predeterminado si no hay un encabezado coincidente.

  • HTTPResponse.getheaders(): Devuelve una lista de tuplas (de encabezado, valor). (Nuevo en la versión 2.4.)

  • HTTPResponse.msg: Un ejemplo mimetools.Message que contiene los encabezados de respuesta.

  • HTTPResponse.version: Versión de protocolo HTTP utilizada por el servidor. 10 para HTTP/1.0, 11 para HTTP/1.1.

  • HTTPResponse.status: Código de estado devuelto por el servidor.

  • HTTPResponse.reason: Frase de la razón devuelta por el servidor.