dberube4

txtuplib3

Aug 22nd, 2012
207
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 8.06 KB | None | 0 0
  1. from urllib2 import Request, build_opener, HTTPCookieProcessor, HTTPHandler
  2. import cookielib,tempfile
  3.  
  4. class txtUpload(object):
  5.    
  6.     def __init__(self):
  7.         self.headers = {}
  8.         self.headers['Host'] = 'www.text-upload.com'
  9.         self.headers['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0'
  10.         self.headers['Accept']='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
  11.         self.headers['Accept-Language']='en-us;q=0.8,en;q=0.5'
  12.         self.headers['X-Moz']='prefetch'
  13.         self.headers['Accept-Charset']='ISO-8859-1,utf-8;q=0.7,*;q=0.7'
  14.         self.headers['Referer']='http://www.text-upload.com/'
  15.         self.headers['Cookie'] = ''
  16.         self.headers['Cache-Control']='max-age=0'
  17.         self.cjar = ''
  18.         self.tmpDir = tempfile.gettempdir()+'/'
  19.            
  20.     def openSession(self,user,psw):
  21.        
  22.         self.user = user
  23.         self.psw = psw
  24.         data =('login={0}&password={1}&remember=yes&x=68&y=12'.format(user,psw))
  25.         #Create a CookieJar object to hold the cookies
  26.         cj = cookielib.CookieJar()
  27.         #Create an opener to open pages using the http protocol and to process cookies.
  28.         opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  29.         self.headers['Accept']='text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8'
  30.         self.headers['Referer']='http://www.text-upload.com/login'
  31.         self.headers['Cookie'] = self.cjar
  32.         req= Request("http://www.text-upload.com/login",data = data,headers = self.headers)
  33.         f = opener.open(req)
  34.         html = f.read()
  35.        
  36.         for cookie in cj:
  37.             cookie = str(cookie).split(' ')[1]
  38.             if not 'links' in cookie:
  39.                self.cjar += cookie + '; '
  40.             else:
  41.                 self.cjar += cookie
  42.                
  43.         if 'You are logged' in html:
  44.             return True
  45.         else:
  46.             return False
  47.    
  48.     def upload(self,data,title='',keywords = 'None',type = 'hidden',psw = ''):
  49.             def getLinkName(html):
  50.                 name = self.tmpDir+'tmp.tmp'
  51.                 tmp = open(name,'w').write(str(html));
  52.                
  53.                 a = open(name,'r');n = 0
  54.                 while n != 51:
  55.                     line = a.readline()
  56.                     n+= 1
  57.                 else:
  58.                     link = a.readline().split('''"''');link = link[1].strip('http://www.text-upload.com/read,')
  59.                     link = link.split('c')[0]
  60.                     return link
  61.            
  62.             try:
  63.                 self.cjar
  64.             except:
  65.                 print('Error: No session initiated')
  66.                 return False
  67.             Keywords = keywords;Data = data;Title = title
  68.             Keywords = str(Keywords).replace(' ','+');Data = str(Data).replace(' ','+');Title = str(Title).replace(' ','+')
  69.             data =('content={0}&x=89&y=21&title={1}&keywords={2}&message=yes&type={3}&password={4}&passwordconfirmation={4}'.format(Data,Title,Keywords,type,psw))
  70.             cj = cookielib.CookieJar()
  71.             opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  72.             self.headers['Referer']='http://www.text-upload.com/upload'
  73.             self.headers['Cookie'] = self.cjar
  74.             req= Request("http://www.text-upload.com/upload",data = data,headers = self.headers)
  75.             f = opener.open(req)
  76.             html = f.read()
  77.             link = getLinkName(html)
  78.             if 'http://www.text-upload.com/read,' in html:
  79.                 return True,link
  80.             else:
  81.                 return False,False
  82.    
  83.     def delete(self,fileId):
  84.             try:
  85.                 self.cjar
  86.             except:
  87.                 print('Error: No session initiated')
  88.                 return 0
  89.             cj = cookielib.CookieJar()
  90.             opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  91.             self.headers['Referer']='http://www.text-upload.com/user,{0}'.format(self.user)
  92.             self.headers['Cookie'] = self.cjar
  93.             req= Request("http://www.text-upload.com/delete,{0}".format(fileId),headers = self.headers)
  94.             f = opener.open(req)
  95.             html = f.read()
  96.             if 'Text deleted.' in html:
  97.                 return True
  98.             else:
  99.                 return False
  100.    
  101.     def edit(self,fileId,data,title='',keywords = 'None'):
  102.         try:
  103.             self.cjar
  104.         except:
  105.             print('Error: No session initiated')
  106.             return 0
  107.         def startEdit(Id,):
  108.             cj = cookielib.CookieJar()
  109.             opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  110.             self.headers['Referer']='http://www.text-upload.com/user,{0}'.format(self.user)
  111.             self.headers['Cookie'] = self.cjar
  112.             req= Request("http://www.text-upload.com/edit,{0}".format(fileId.strip('t')),headers = self.headers)
  113.             f = opener.open(req)
  114.             html = f.read()
  115.             if 'Content (up to 50 000 bytes):' in html:
  116.                 return True
  117.             else:
  118.                 return False
  119.         def saveEdit(Id,data,title,keywords):
  120.             Keywords = str(keywords);Data = str(data);Title = str(title)
  121.             Keywords = Keywords.replace(' ','+');Data = Data.replace(' ','+');Title = Title.replace(' ','+')
  122.             data =('content={0}&x=45&y=18&title={1}&keywords={2}&message=yes'.format(Data,Title,Keywords))
  123.             cj = cookielib.CookieJar()
  124.             opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  125.             self.headers['Referer']='http://www.text-upload.com/edit,{0}'.format(Id)
  126.             self.headers['Cookie'] = self.cjar
  127.             req= Request("http://www.text-upload.com/edit,{0}".format(Id),data = data,headers = self.headers)
  128.             f = opener.open(req)
  129.             html = f.read()
  130.             if 'Changes saved.' in html:
  131.                 return 1
  132.             else:
  133.                 return 0
  134.            
  135.             resp = startEdit(fileId)
  136.             if resp != 0:
  137.                 saveEdit(fileId,data,title='',keywords = 'None')
  138.             else:
  139.                 print('An error ocurred.')
  140.        
  141.         resp = startEdit(fileId)
  142.         if resp != 0:
  143.             saveEdit(fileId,data,title,keywords)
  144.         else:
  145.             print('An error ocurred.')
  146.    
  147.     def register(self,user,psw):
  148.             data =('login={0}&password={1}&passwordconfirmation={1}&x=19&y=16'.format(user,psw))
  149.             #Create a CookieJar object to hold the cookies
  150.             cj = cookielib.CookieJar()
  151.             #Create an opener to open pages using the http protocol and to process cookies.
  152.             opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  153.             #create a request object to be used to get the page.
  154.             self.headers['Referer']='http://www.text-upload.com/register'
  155.             req = Request("http://www.text-upload.com/register",data,self.headers)
  156.             f = opener.open(req)
  157.            
  158.             #see the first few lines of the page
  159.             html = f.read()
  160.             if 'Account created' in html:
  161.                 return True
  162.             else:
  163.                 return False
  164.        
  165.     def read(self,fileId):
  166.         def getText(html):
  167.             text = html.split('''<pre class="prettyprint">''')[1]
  168.             text = text.split('</pre>')[0]
  169.             return text
  170.            
  171.         cj = cookielib.CookieJar()
  172.         opener = build_opener(HTTPCookieProcessor(cj), HTTPHandler())
  173.         self.headers['Referer']='http://www.text-upload.com/user,{0}'.format(self.user)
  174.         self.headers['Cookie'] = self.cjar
  175.         req= Request("http://www.text-upload.com/read,{0}".format(fileId),headers = self.headers)
  176.         f = opener.open(req)
  177.         html = f.read()
  178.         text = getText(html)
  179.         if len(html) > 5:
  180.             return True,text
  181.         else:
  182.             return False,False
  183.    
  184. #Usage
  185. #session = txtUpload()
  186. #session.openSession('aUsername','aPassword')
  187. #a,b = session.upload('content')  #Return Verification (a) and the new link (b)
Advertisement
Add Comment
Please, Sign In to add comment