Hola, buen día !
hace rato ya que no programaba nada, así que me "animé" a programar una pequeñita clase
para poder enviar datos por POST a algún archivo PHP.
Antes de poner el código, quiero explicar como es su manera de uso...
Primero nos pedirá las variables separadas por ":" , por lo que si deseamos enviar usuario y clave deberíamos
insertar algo como esto usuario:clave , posteriormente cuando nos pida los valores, también separados por ":" , insertamos jaavier:clave123
Quedando finalmente "usuario:jaavier, clave:clave123", siendo estos enviados al archivo PHP especificado.
Una vez conectado al PHP, nos devolverá el código por pantalla, haciendo efectivo el envío de sus datos
mediante POST vía Python, el código no es nada del otro mundo, pero espero les sirva.
# -*- coding: utf-8 -*-
# Autor : JaAViEr (0x5d)
# Twitter: 0x5d
import urllib
class enviar_datos:
def conectar(self,host,campo,valor):
self.variables=[]
self.valores=[]
self.campo = campo
self.valor = valor
self.host = host
self.datos = {}
for campo_variables,valor_variables in zip(self.campo.split(":"),self.valor.split(":")):
self.variables.append(campo_variables)
self.valores.append(valor_variables)
for variable,valor in zip(self.variables,self.valores):
self.datos['%s'%variable] = valor
try:
return urllib.urlopen(self.host,urllib.urlencode(self.datos)).read()
except:
return "No se puede conectar a %s"%(self.host)
url = raw_input("Inserta la URL ::> ")
variables = raw_input("Inserta las variables, separadas por ':' ::> ")
valores = raw_input("Inserta los valores, separados por ':' ::> ")
conec = enviar_datos()
print conec.conectar(url,variables,valores)
Probemos la Tool, para esto hice un sencillo PHP que recibe 3 variables por POST.
La url en cuestión es <a href="http://rootcodes.com/codes/test.php">ESTE</a> , las 3 variables
que recibe son "var1" , "var2" , "var3".
Un ejemplo:
Inserta la URL ::> http://www.rootcodes.com/codes/test.php
Inserta las variables, separadas por ':' ::> var1:var2:var3
Inserta los valores, separados por ':' ::> Hola:Como:Estan?
var:Hola
var2:Como
var3:Estan?
Fuente Original : http://rootcodes.com/python-mini-clase-para-enviar-datos-post/ (http://rootcodes.com/python-mini-clase-para-enviar-datos-post/)
Saludos !