Fix test_httplib.
diff --git a/Lib/httplib.py b/Lib/httplib.py
index 2a74e54..5c15f9d 100644
--- a/Lib/httplib.py
+++ b/Lib/httplib.py
@@ -711,8 +711,8 @@
 
         Appends an extra \\r\\n to the buffer.
         """
-        self._buffer.extend(("", ""))
-        msg = "\r\n".join(self._buffer)
+        self._buffer.extend((b"", b""))
+        msg = b"\r\n".join(self._buffer)
         del self._buffer[:]
         self.send(msg)
 
@@ -758,9 +758,10 @@
         self._method = method
         if not url:
             url = '/'
-        str = '%s %s %s' % (method, url, self._http_vsn_str)
+        request = '%s %s %s' % (method, url, self._http_vsn_str)
 
-        self._output(str)
+        # Non-ASCII characters should have been eliminated earlier
+        self._output(request.encode('ascii'))
 
         if self._http_vsn == 11:
             # Issue some standard headers for better HTTP/1.1 compliance
@@ -831,8 +832,8 @@
         if self.__state != _CS_REQ_STARTED:
             raise CannotSendHeader()
 
-        str = '%s: %s' % (header, value)
-        self._output(str)
+        header = '%s: %s' % (header, value)
+        self._output(header.encode('ascii'))
 
     def endheaders(self):
         """Indicate that the last header line has been sent to the server."""
@@ -846,7 +847,6 @@
 
     def request(self, method, url, body=None, headers={}):
         """Send a complete request to the server."""
-
         try:
             self._send_request(method, url, body, headers)
         except socket.error as v:
@@ -888,6 +888,7 @@
         self.endheaders()
 
         if body:
+            if isinstance(body, str): body = body.encode('ascii')
             self.send(body)
 
     def getresponse(self):
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index 9238eea..d18ea2b 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -11,7 +11,7 @@
     def __init__(self, text, fileclass=StringIO.StringIO):
         self.text = text
         self.fileclass = fileclass
-        self.data = ''
+        self.data = b''
 
     def sendall(self, data):
         self.data += data
@@ -54,7 +54,7 @@
                 kv = item.split(':')
                 if len(kv) > 1:
                     # item is a 'Key: Value' header string
-                    lcKey = kv[0].lower()
+                    lcKey = kv[0].decode('ascii').lower()
                     self.count.setdefault(lcKey, 0)
                     self.count[lcKey] += 1
                 list.append(self, item)