Does urllib2 support DELETE or PUT method? If yes provide with any example please. I need to use piston API.
You can define a subclass of the Request object, and call it as follows:
import urllib2
class RequestWithMethod(urllib2.Request):
def __init__(self, *args, **kwargs):
self._method = kwargs.pop('method', None)
urllib2.Request.__init__(self, *args, **kwargs)
def get_method(self):
return self._method if self._method else super(RequestWithMethod, self).get_method()
def put_request(url, data):
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = RequestWithMethod(url, method='PUT', data=data)
return opener.open(request)
def delete_request(url):
opener = urllib2.build_opener(urllib2.HTTPHandler)
request = RequestWithMethod(url, method='DELETE')
return opener.open(request)
(This is similar to the above answers, but shows usage.)