Apply two small changes to the Windows code, according to SF bug
#427345.  These are supposed to support binary data and avoid
buffering problems on Windows.
diff --git a/Lib/CGIHTTPServer.py b/Lib/CGIHTTPServer.py
index d6afaa1..809cab7 100644
--- a/Lib/CGIHTTPServer.py
+++ b/Lib/CGIHTTPServer.py
@@ -223,7 +223,7 @@
                 if interp.lower().endswith("w.exe"):
                     # On Windows, use python.exe, not python.exe
                     interp = interp[:-5] = interp[-4:]
-                cmdline = "%s %s" % (interp, cmdline)
+                cmdline = "%s -u %s" % (interp, cmdline)
             if '=' not in query and '"' not in query:
                 cmdline = '%s "%s"' % (cmdline, query)
             self.log_error("command: %s", cmdline)
@@ -231,7 +231,7 @@
                 nbytes = int(length)
             except:
                 nbytes = 0
-            fi, fo = os.popen2(cmdline)
+            fi, fo = os.popen2(cmdline, 'b')
             if self.command.lower() == "post" and nbytes > 0:
                 data = self.rfile.read(nbytes)
                 fi.write(data)