--- client.py 2016-02-21 17:11:21.465889522 +0100 +++ client-fixed.py 2016-02-21 17:10:54.152556896 +0100 @@ -1131,13 +1131,13 @@ for i in (0, 1): try: return self.single_request(host, handler, request_body, verbose) + except http.client.RemoteDisconnected: + if i: + raise except OSError as e: if i or e.errno not in (errno.ECONNRESET, errno.ECONNABORTED, errno.EPIPE): raise - except http.client.RemoteDisconnected: - if i: - raise def single_request(self, host, handler, request_body, verbose=False): # issue XML-RPC request