diff options
author | Kjetil Jacobsen <kjetilja@gmail.com> | 2005-05-18 12:50:00 +0000 |
---|---|---|
committer | Kjetil Jacobsen <kjetilja@gmail.com> | 2005-05-18 12:50:00 +0000 |
commit | d109808471e41f1f46b3ace505f5269bb8214fb8 (patch) | |
tree | d25a9903ce0cd872a52e64b3422d01ebbef6d828 /python | |
parent | 190e3718d6b07b524451aecf654ac177c7aefe2c (diff) | |
download | pycurl-d109808471e41f1f46b3ace505f5269bb8214fb8.tar.gz |
- use dict to hold response info, not rfc822 message obj
Diffstat (limited to 'python')
-rw-r--r-- | python/curl/__init__.py | 77 |
1 files changed, 39 insertions, 38 deletions
diff --git a/python/curl/__init__.py b/python/curl/__init__.py index 714882e..40f7406 100644 --- a/python/curl/__init__.py +++ b/python/curl/__init__.py @@ -92,48 +92,46 @@ class Curl: "Return the body from the last response." return self.payload + def header(self): + "Return the header from the last response." + return self.header.getvalue() + def get_info(self, *args): "Get information about retrieval." return apply(self.handle.getinfo, args) def info(self): - "Return an RFC822 object with info on the page." - self.header.seek(0,0) - url = self.handle.getinfo(pycurl.EFFECTIVE_URL) - if url[:5] == 'http:': - self.header.readline() - m = mimetools.Message(self.header) - else: - m = mimetools.Message(StringIO()) - m['effective-url'] = url - m['http-code'] = str(self.handle.getinfo(pycurl.HTTP_CODE)) - m['total-time'] = str(self.handle.getinfo(pycurl.TOTAL_TIME)) - m['namelookup-time'] = str(self.handle.getinfo(pycurl.NAMELOOKUP_TIME)) - m['connect-time'] = str(self.handle.getinfo(pycurl.CONNECT_TIME)) - m['pretransfer-time'] = str(self.handle.getinfo(pycurl.PRETRANSFER_TIME)) - m['redirect-time'] = str(self.handle.getinfo(pycurl.REDIRECT_TIME)) - m['redirect-count'] = str(self.handle.getinfo(pycurl.REDIRECT_COUNT)) - m['size-upload'] = str(self.handle.getinfo(pycurl.SIZE_UPLOAD)) - m['size-download'] = str(self.handle.getinfo(pycurl.SIZE_DOWNLOAD)) - m['speed-upload'] = str(self.handle.getinfo(pycurl.SPEED_UPLOAD)) - m['header-size'] = str(self.handle.getinfo(pycurl.HEADER_SIZE)) - m['request-size'] = str(self.handle.getinfo(pycurl.REQUEST_SIZE)) - m['content-length-download'] = str(self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD)) - m['content-length-upload'] = str(self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD)) - m['content-type'] = (self.handle.getinfo(pycurl.CONTENT_TYPE) or '').strip(';') - m['response-code'] = str(self.handle.getinfo(pycurl.RESPONSE_CODE)) - m['speed-download'] = str(self.handle.getinfo(pycurl.SPEED_DOWNLOAD)) - m['ssl-verifyresult'] = str(self.handle.getinfo(pycurl.SSL_VERIFYRESULT)) - m['filetime'] = str(self.handle.getinfo(pycurl.INFO_FILETIME)) - m['starttransfer-time'] = str(self.handle.getinfo(pycurl.STARTTRANSFER_TIME)) - m['redirect-time'] = str(self.handle.getinfo(pycurl.REDIRECT_TIME)) - m['redirect-count'] = str(self.handle.getinfo(pycurl.REDIRECT_COUNT)) - m['http-connectcode'] = str(self.handle.getinfo(pycurl.HTTP_CONNECTCODE)) - m['httpauth-avail'] = str(self.handle.getinfo(pycurl.HTTPAUTH_AVAIL)) - m['proxyauth-avail'] = str(self.handle.getinfo(pycurl.PROXYAUTH_AVAIL)) - m['os-errno'] = str(self.handle.getinfo(pycurl.OS_ERRNO)) - m['num-connects'] = str(self.handle.getinfo(pycurl.NUM_CONNECTS)) - m['ssl-engines'] = str(self.handle.getinfo(pycurl.SSL_ENGINES)) + "Return a dictionary with all info on the last response." + m = {} + m['effective-url'] = self.handle.getinfo(pycurl.EFFECTIVE_URL) + m['http-code'] = self.handle.getinfo(pycurl.HTTP_CODE) + m['total-time'] = self.handle.getinfo(pycurl.TOTAL_TIME) + m['namelookup-time'] = self.handle.getinfo(pycurl.NAMELOOKUP_TIME) + m['connect-time'] = self.handle.getinfo(pycurl.CONNECT_TIME) + m['pretransfer-time'] = self.handle.getinfo(pycurl.PRETRANSFER_TIME) + m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) + m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) + m['size-upload'] = self.handle.getinfo(pycurl.SIZE_UPLOAD) + m['size-download'] = self.handle.getinfo(pycurl.SIZE_DOWNLOAD) + m['speed-upload'] = self.handle.getinfo(pycurl.SPEED_UPLOAD) + m['header-size'] = self.handle.getinfo(pycurl.HEADER_SIZE) + m['request-size'] = self.handle.getinfo(pycurl.REQUEST_SIZE) + m['content-length-download'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_DOWNLOAD) + m['content-length-upload'] = self.handle.getinfo(pycurl.CONTENT_LENGTH_UPLOAD) + m['content-type'] = self.handle.getinfo(pycurl.CONTENT_TYPE) + m['response-code'] = self.handle.getinfo(pycurl.RESPONSE_CODE) + m['speed-download'] = self.handle.getinfo(pycurl.SPEED_DOWNLOAD) + m['ssl-verifyresult'] = self.handle.getinfo(pycurl.SSL_VERIFYRESULT) + m['filetime'] = self.handle.getinfo(pycurl.INFO_FILETIME) + m['starttransfer-time'] = self.handle.getinfo(pycurl.STARTTRANSFER_TIME) + m['redirect-time'] = self.handle.getinfo(pycurl.REDIRECT_TIME) + m['redirect-count'] = self.handle.getinfo(pycurl.REDIRECT_COUNT) + m['http-connectcode'] = self.handle.getinfo(pycurl.HTTP_CONNECTCODE) + m['httpauth-avail'] = self.handle.getinfo(pycurl.HTTPAUTH_AVAIL) + m['proxyauth-avail'] = self.handle.getinfo(pycurl.PROXYAUTH_AVAIL) + m['os-errno'] = self.handle.getinfo(pycurl.OS_ERRNO) + m['num-connects'] = self.handle.getinfo(pycurl.NUM_CONNECTS) + m['ssl-engines'] = self.handle.getinfo(pycurl.SSL_ENGINES) return m def answered(self, check): @@ -161,5 +159,8 @@ if __name__ == "__main__": c.get(url) print c.body() print '='*74 + '\n' - print c.info() + import pprint + pprint.pprint(c.info()) + print c.get_info(pycurl.OS_ERRNO) + print c.info()['os-errno'] c.close() |