Index: Lib/urllib/request.py =================================================================== --- Lib/urllib/request.py (revision 84773) +++ Lib/urllib/request.py (working copy) @@ -160,7 +160,7 @@ class Request: def __init__(self, url, data=None, headers={}, - origin_req_host=None, unverifiable=False): + origin_req_host=None, unverifiable=False, method=None): # unwrap('') --> 'type://host/path' self.full_url = unwrap(url) self.full_url, fragment = splittag(self.full_url) @@ -174,6 +174,7 @@ origin_req_host = request_host(self) self.origin_req_host = origin_req_host self.unverifiable = unverifiable + self.method = method self._parse() def _parse(self): @@ -185,6 +186,9 @@ self.host = unquote(self.host) def get_method(self): + if self.method is not None: + return self.method + if self.data is not None: return "POST" else: