diff --git a/Lib/http/client.py b/Lib/http/client.py
index 2799c07..34c098d 100644
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -917,6 +917,8 @@
         for i, one_value in enumerate(values):
             if hasattr(one_value, 'encode'):
                 values[i] = one_value.encode('ascii')
+            elif isinstance(one_value, int):
+                values[i] = str(one_value).encode('ascii')
         value = b'\r\n\t'.join(values)
         header = header + b': ' + value
         self._output(header)
diff --git a/Lib/test/test_httplib.py b/Lib/test/test_httplib.py
index e9d24ba..5a6422d 100644
--- a/Lib/test/test_httplib.py
+++ b/Lib/test/test_httplib.py
@@ -90,6 +90,15 @@
                 conn.request('POST', '/', body, headers)
                 self.assertEqual(conn._buffer.count[header.lower()], 1)
 
+    def test_putheader(self):
+        conn = client.HTTPConnection('example.com')
+        conn.sock = FakeSocket(None)
+        conn.putrequest('GET','/')
+        conn.putheader('Content-length', 42)
+        print(conn._buffer)
+        self.assertTrue(b'Content-length: 42' in conn._buffer)
+
+
 class BasicTest(TestCase):
     def test_status_lines(self):
         # Test HTTP status lines
