Martin Panter added the comment: HTTP pipelining is not supported in general. According to the module doc string, you can actually pipeline a second request if you have read the first response’s headers but not its body:
>>> conn = HTTPSConnection("bugs.python.org") >>> conn.request("GET", "/") >>> response1 = conn.getresponse() # Read header section only >>> conn.request("GET", "/issue23377") >>> response1.read()[:100] # Read first body after pipelining second request b'<!--\n This is the default body that is displayed when people visit the\n tracker. The tag below lists' >>> response2 = conn.getresponse() >>> response2.read()[:100] b'\n<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xht' But I suspect this might deadlock with some servers (that don’t properly support pipelining themselves) if the second request was a large POST or something and filled up the buffers that this mode relies on. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue23377> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com