from urllib2 import Request, urlopen from urllib import urlencode from urlparse import urljoin class HTTPClient(object): def __init__(self, base_url, user=None, password=None): self.base_url = base_url self.user = user self.password = password def authenticate(self): return 'not ready yet' def send_request(self, url, data=None): request = Request(url, data) response = urlopen(request) return response.read() def get(self, url): return self.send_request(urljoin(self.base_url, url)) def post(self, url, data): encoded_data = urlencode(data) return self.send_request(urljoin(self.base_url, url), encoded_data)