We Recommend

Learning Python Learning Python
The authors of Learning Python show you enough essentials of the Python scripting language to enable you to begin solving problems right away, then reveal more powerful aspects of the language one at a time. This approach is sure to appeal to programmers and system administrators who have urgent problems and a preference for learning by semi-guided experimentation.


Posted By

felipec on 05/02/07


Tagged

web20 rest


Versions (?)


Who likes this?

6 people have marked this snippet as a favorite

vvarp
jarjar2k7
gedittest
fukami
dbug13
lukaszkorecki


Python REST


Published in: Python 


  1. import httplib
  2. import urlparse
  3. import urllib
  4. import base64
  5.  
  6. class Connection:
  7. def __init__(self, base_url, username, password):
  8. self.base_url = base_url
  9. self.username = username
  10. self.password = password
  11. self.url = urlparse.urlparse(base_url)
  12.  
  13. def request_get(self, resource, args = None):
  14. self.request(resource, "get", args)
  15.  
  16. def request_post(self, resource, args = None):
  17. self.request(resource, "post", args)
  18.  
  19. def request(self, resource, method = "get", args = None):
  20. params = None
  21. path = resource
  22. headers = {}
  23.  
  24. if args:
  25. path += "?" + urllib.urlencode(args)
  26.  
  27. if self.username and self.password:
  28. encoded = base64.encodestring("%s:%s" % (self.username, self.password))[:-1]
  29. headers["Authorization"] = "Basic %s" % encoded
  30.  
  31. if (self.url.port == 443):
  32. conn = httplib.HTTPSConnection(self.url.netloc)
  33. else:
  34. conn = httplib.HTTPConnection(self.url.netloc)
  35.  
  36. req = conn.request(method.upper(), "/" + path, None, headers)
  37.  
  38. r = conn.getresponse()

Report this snippet 

You need to login to post a comment.