Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python
- #coding: utf-8
- import re
- import sys
- import json
- import urllib2
- # Depende de poster
- # http://atlee.ca/software/poster/index.html
- try:
- import poster
- except ImportError:
- print >>sys.stderr, "%s depende de poster <http://atlee.ca/software/poster/index.html>" % sys.argv[0]
- # Expresión para encontrar la url donde enviar los datos
- upload_url = re.compile(r'<FORM enctype="multipart\/form-data" action="([^"]*)"')
- # Expresión para encontrar los datos relevantes en la respuesta a la subida
- returned_data = re.compile(r"parent\.uploaddone\('(.*)'\);<\/script>")
- if __name__ == "__main__":
- files = []
- files = sys.argv[1:]
- if len(files) > 0:
- poster.streaminghttp.register_openers()
- # Por cada archivo (para poder ir obteniendo las url sobre la marcha)
- for f in files:
- # Se descarga la página
- r = urllib2.urlopen("http://www.multiupload.com/")
- s = r.read()
- # Y se encuentra la url
- url = upload_url.search(s).group(1)
- # Preparamos la peticion
- d = {f: open(f, "rb")}
- for s in [16, 7, 9, 17, 6, 15, 14, 18]:
- d["service_%s" % s] = "1"
- print d
- datagen, headers = poster.encode.multipart_encode(d)
- request = urllib2.Request(url, datagen, headers)
- s = urllib2.urlopen(request).read()
- data = json.loads(returned_data.search(s).group(1))[0]
- print "%s -- http://www.multiupload.com/%s" % (data['filename'], data['downloadid'])
- else:
- print >>sys.stderr, "%s <archivo> [<archivo> [...]]" % sys.argv[0]
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement