class User(): def __init__(self): self.http = HttpClient() def login(self,loginData): signup_url = "http://localhost/signup/" xsrf = self.http.getXsrf(signup_url) print xsrf loginData['_xsrf'] = xsrf regQuery = urllib.urlencode(loginData) #print regQuery url = "http://localhost/login/" print url req = urllib2.Request(url,regQuery) res = urllib2.urlopen(req) print res.read(20) self.http.saveCookie() def reg(self,regData): signup_url = "http://localhost/signup/" xsrf = self.http.getXsrf(signup_url) print xsrf regData['_xsrf'] = xsrf regQuery = urllib.urlencode(regData) url = "http://localhost/signup/" req = urllib2.Request(url,regQuery) res = urllib2.urlopen(req) print res.read(100) def delete(self,user_key): url = "http://localhost/manager/user/delete/%s" % user_key res = urllib2.urlopen(url) print res.code
class Board(): def __init__(self): self.http = HttpClient() def login(self,loginData): signup_url = "http://localhost/signup/" xsrf = self.http.getXsrf(signup_url) print xsrf loginData['_xsrf'] = xsrf regQuery = urllib.urlencode(loginData) #print regQuery url = "http://localhost/login/" print url req = urllib2.Request(url,regQuery) res = urllib2.urlopen(req) print res.read(20) self.http.saveCookie() def new(self,bData): signup_url = "http://localhost/" xsrf = self.http.getXsrf(signup_url) print xsrf bData['_xsrf'] = xsrf bQuery = urllib.urlencode(bData) url = "http://localhost/ajax/addboard/" req = urllib2.Request(url,bQuery) res = urllib2.urlopen(req) print res.read() def newBoard(self,bData): signup_url = "http://localhost/" xsrf = self.http.getXsrf(signup_url) print xsrf bData['_xsrf'] = xsrf bQuery = urllib.urlencode(bData) url = "http://localhost/manager/board/new/" req = urllib2.Request(url,bQuery) res = urllib2.urlopen(req) print res.read()
class Cat(): def __init__(self): self.http = HttpClient() def add(self,catData): cat_url = "http://localhost/manager/cat/new/" xsrf = self.http.getXsrf(cat_url) print xsrf catData['_xsrf'] = xsrf catQuery = urllib.urlencode(catData) #print regQuery req = urllib2.Request(cat_url,catQuery) res = urllib2.urlopen(req) print res.read(20) self.http.saveCookie() def delete(self,user_key): url = "http://localhost/manager/user/delete/%s" % user_key res = urllib2.urlopen(url) print res.code
class Pin: def __init__(self): self.http = HttpClient() def login(self, loginData): signup_url = "http://localhost/signup/" xsrf = self.http.getXsrf(signup_url) print xsrf loginData["_xsrf"] = xsrf regQuery = urllib.urlencode(loginData) # print regQuery url = "http://localhost/login/" print url req = urllib2.Request(url, regQuery) res = urllib2.urlopen(req) print res.read(20) self.http.saveCookie() def new(self, bData): signup_url = "http://localhost/uploader/file/" xsrf = self.http.getXsrf(signup_url) print xsrf bData["_xsrf"] = xsrf bQuery = urllib.urlencode(bData) url = "http://localhost/ajax/addboard/" req = urllib2.Request(url, bQuery) res = urllib2.urlopen(req) print res.read() def uploadFile(self): signup_url = "http://localhost/uploader/file/" xsrf = self.http.getXsrf(signup_url) print xsrf fields = [("_xsrf", xsrf)] ifile = "/home/sites/lihuashu.com/test/1.gif" imgdata = file(ifile, "rb") files = [("ifile", imgdata.name, imgdata.read())] content_type, upload_data = uploadfile(fields, files) uploadheader = {"Content-Type": content_type, "Content-Length": str(len(upload_data))} request = urllib2.Request("http://localhost/upload/", upload_data, uploadheader) res = urllib2.urlopen(request) print res.read(100) print self.http.cookieJar for c in self.http.cookieJar: if c.name == "_xsrf": self._xsrf = c.value print c.value if c.name == "pic_url": self.pic_url = c.value print c.value if c.name == "thumb_url": self.thumb_url = c.value print c.value if c.name == "board": self.board = c.value print c.value def addPin(self): print self._xsrf url = "http://localhost/service/form/" pData = {} pData["board"] = self.board pData["thumb_url"] = self.thumb_url pData["pic_url"] = self.pic_url pData["content"] = "content" pData["_xsrf"] = self._xsrf req = urllib2.Request(url, urllib.urlencode(pData)) r = urllib2.urlopen(req)