[Tutor] Resetting state of http.client/httplib HTTPSConnection objects

Chris Down chris at chrisdown.name
Mon Aug 26 00:34:40 CEST 2013


I am experiencing intermittent issues where an exception will be raised when
calling getresponse(), which makes the entire connection stuck in Request-sent
state. Is it possible to reset to idle state somehow without reinstantiating
the HTTPSConnection? I ideally want to keep the connection to the server, and
just reset the state to idle so that I can make another request (like you would
usually do by calling getresponse()).

    >>> a.conn
    <http.client.HTTPSConnection object at 0x7f8d7cb58bd0>
    >>> a.conn.getresponse()
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python3.3/http/client.py", line 1143, in getresponse
        response.begin()
      File "/usr/lib64/python3.3/http/client.py", line 354, in begin
        version, status, reason = self._read_status()
      File "/usr/lib64/python3.3/http/client.py", line 324, in _read_status
        raise BadStatusLine(line)
    http.client.BadStatusLine: ''
    >>> a.conn.request("GET", "foo")
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
      File "/usr/lib64/python3.3/http/client.py", line 1061, in request
        self._send_request(method, url, body, headers)
      File "/usr/lib64/python3.3/http/client.py", line 1089, in _send_request
        self.putrequest(method, url, **skips)
      File "/usr/lib64/python3.3/http/client.py", line 944, in putrequest
        raise CannotSendRequest(self.__state)
    http.client.CannotSendRequest: Request-sent
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 490 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/tutor/attachments/20130826/62ede947/attachment.sig>


More information about the Tutor mailing list