diff --git a/Doc/lib/libhttplib.tex b/Doc/lib/libhttplib.tex
index 50b4cf2..8badc71 100644
--- a/Doc/lib/libhttplib.tex
+++ b/Doc/lib/libhttplib.tex
@@ -174,11 +174,16 @@
 \method{getreply()} has been called.
 \end{methoddesc}
 
-\begin{methoddesc}{putrequest}{request, selector}
+\begin{methoddesc}{putrequest}{request, selector\optional{,
+skip\_host\optional{, skip_accept_encoding}}}
 This should be the first call after the connection to the server has
 been made.  It sends a line to the server consisting of the
 \var{request} string, the \var{selector} string, and the HTTP version
-(\code{HTTP/1.1}).
+(\code{HTTP/1.1}).  To disable automatic sending of \code{Host:} or
+\code{Accept-Encoding:} headers (for example to accept additional
+content encodings), specify \var{skip_host} or \var{skip_accept_encoding}
+with non-False values.
+\versionchanged[\var{skip_accept_encoding} argument added]{2.4}
 \end{methoddesc}
 
 \begin{methoddesc}{putheader}{header, argument\optional{, ...}}
diff --git a/Lib/httplib.py b/Lib/httplib.py
index a6ab647..0dfea33 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -596,18 +596,21 @@
         del self._buffer[:]
         self.send(msg)
 
-    def putrequest(self, method, url, skip_host=0):
+    def putrequest(self, method, url, skip_host=0, skip_accept_encoding=0):
         """Send a request to the server.
 
         `method' specifies an HTTP request method, e.g. 'GET'.
         `url' specifies the object being requested, e.g. '/index.html'.
+        `skip_host' if True does not add automatically a 'Host:' header
+        `skip_accept_encoding' if True does not add automatically an
+           'Accept-Encoding:' header
         """
 
         # if a prior response has been completed, then forget about it.
         if self.__response and self.__response.isclosed():
             self.__response = None
 
-        #
+       
         # in certain cases, we cannot issue another request on this connection.
         # this occurs when:
         #   1) we are in the process of sending a request.   (_CS_REQ_STARTED)
@@ -676,7 +679,8 @@
 
             # we only want a Content-Encoding of "identity" since we don't
             # support encodings such as x-gzip or x-deflate.
-            self.putheader('Accept-Encoding', 'identity')
+            if not skip_accept_encoding:
+                self.putheader('Accept-Encoding', 'identity')
 
             # we can accept "chunked" Transfer-Encodings, but no others
             # NOTE: no TE header implies *only* "chunked"
diff --git a/Misc/NEWS b/Misc/NEWS
index 191ef48..c19d417 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -116,6 +116,8 @@
 Library
 -------
 
+- httplib.HTTP.putrequest now offers to omit the implicit Accept-Encoding.
+
 - Patch #841977: modulefinder didn't find extension modules in packages
 
 - imaplib.IMAP4.thread was added.
