elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Python] Goo - Acorta tu URL
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Python] Goo - Acorta tu URL  (Leído 1,664 veces)
The Swash

Desconectado Desconectado

Mensajes: 194


Programmer


Ver Perfil WWW
[Python] Goo - Acorta tu URL
« en: 24 Octubre 2011, 06:37 am »

Código
  1. #----------------------------------------------------------
  2. # Obtener URL acortada mediante http://goo.gl
  3. # Programador: The Swash
  4. # Agradecimientos: Psymera, 11Sep, [Zero] y todo h-sec
  5. # Website: http://h-sec.org
  6. #----------------------------------------------------------
  7.  
  8. import socket, urllib, re
  9. def GetGooURL(url):
  10.    header = ['POST /api/shorten HTTP/1.1\r\n',
  11.              'Host: goo.gl\r\n',
  12.              'Content-Type: application/x-www-form-urlencoded;charset=utf-8\r\n',
  13.              'Content-Length: 41\r\n',
  14.              'Connection: close\r\n\r\n',
  15.              'URLENCODE']
  16.    if re.match('^http://', url):
  17.        url2 = url
  18.    else:
  19.        url2 = 'http://' + url
  20.    address = socket.gethostbyname('goo.gl')
  21.    link = urllib.urlencode({'url':url2})
  22.    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
  23.    header[5] = link + '&security_token\r\n'
  24.    length = len(header)
  25.    try:
  26.        sock.connect((address,80))
  27.        for i in range(length):
  28.            sock.send(header[i])
  29.        buff = sock.recv(1024)
  30.    except:
  31.        return 'Error de conexion'
  32.  
  33.    sock.close()
  34.    data = re.findall('Location: (.+)\r\n', buff)
  35.    return data[0]
  36.  
  37. url = GetGooURL('h-sec.org')
  38. print url
  39. raw_input()

Hola amigos, les traigo este pequeño código que me llevó largo rato por los encabezados HTTP. Como dijo 11Sep puede acortarse mucho usando urllib, pero en definitiva no era mi intención.

Cualquier critica constructiva es bien recibida.

Un saludo.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Python] Curso de Python con Interfaces graficas TK « 1 2 »
Scripting
Erik# 18 39,561 Último mensaje 12 Septiembre 2010, 02:27 am
por Dreykon
[Python] Sockets en Python [+Ejemplos y Ejercicios]
Scripting
Erik# 4 15,135 Último mensaje 4 Abril 2013, 16:43 pm
por SelTzeR
(Python)Existen ventanas de entrada y salida de datos en python « 1 2 »
Scripting
tonilogar 11 16,242 Último mensaje 29 Noviembre 2009, 00:49 am
por tonilogar
[python]VideoTraining Aprende A Programar En Python desde 0 « 1 2 3 »
Scripting
juh 22 18,442 Último mensaje 16 Octubre 2010, 13:12 pm
por Pere Navarro
Twitter acorta las direcciones URL automáticamente
Noticias
wolfbcn 0 1,659 Último mensaje 8 Junio 2011, 17:39 pm
por wolfbcn
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines