--- urllib2.py.orig	Sat May 10 12:58:40 2003
+++ urllib2.py	Sat May 10 13:29:32 2003
@@ -207,12 +207,6 @@
                 return getattr(self, attr)
         raise AttributeError, attr
 
-    def get_method(self):
-        if self.has_data():
-            return "POST"
-        else:
-            return "GET"
-
     def add_data(self, data):
         self.data = data
 
@@ -417,14 +411,12 @@
         raise HTTPError if no-one else should try to handle this url.  Return
         None if you can't but another Handler might.
         """
-        m = req.get_method()
-        if (code in (301, 302, 303, 307) and m in ("GET", "HEAD")
-            or code in (302, 303) and m == "POST"):
-            # Strictly (according to RFC 2616), 302 in response to a
-            # POST MUST NOT cause a redirection without confirmation
+        if code in (301, 302, 303) or (code == 307 and not req.has_data()):
+            # Strictly (according to RFC 2616), 301 or 302 in response to
+            # a POST MUST NOT cause a redirection without confirmation
             # from the user (of urllib2, in this case).  In practice,
-            # essentially all clients do redirect in this case, so we
-            # do the same.
+            # essentially all clients do redirect in this case, so we do
+            # the same.
             return Request(newurl, headers=req.headers)
         else:
             raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
@@ -470,7 +462,7 @@
 
     inf_msg = "The HTTP server returned a redirect error that would" \
               "lead to an infinite loop.\n" \
-              "The last 302 error message was:\n"
+              "The last 30x error message was:\n"
 
 class ProxyHandler(BaseHandler):
     def __init__(self, proxies=None):

 	  	 
