Python - [SOLUCIONADO] Python post curl pycurl

 
Vista:
sin imagen de perfil
Val: 39
Ha disminuido su posición en 2 puestos en Python (en relación al último mes)
Gráfica de Python

[SOLUCIONADO] Python post curl pycurl

Publicado por Edgar (10 intervenciones) el 14/03/2017 15:18:54
Buenas a tod@s,

Hoy gracias a la ayuda de kip, publico una ayuda que puede servir para más de un@.


En concreto lo que hace el código de Python, es enviar un usuario, una contraseña y un mensaje a través del método POST. El php lee y comprueba si el usuario y la contraseña son correctas, si es así y hay mensaje imprime por pantalla dicho mensaje. Todo esto es gracias a la librería pycurl.



Ahora si, pasemos con los códigos:

CÓDIGO PHP

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
 
// Usuario y contraseña:
$user = "user_login";
$pasw = "la_password";
 
 
/**
  // Prueba de recibo de info:

  echo $_POST["form_id"] . '<br>';
  echo $_POST["pass"] . '<br>';
 **/
 
 
// Comprobar usuario y contraseña,
if ($_POST["form_id"] == $user and $_POST["pass"] == $pasw) {
 
    // en caso de que sean los dos campos correctos, comprueba si hay algo,
    if (empty($_POST['prueba'])) {
 
        // si no hay nada, imprime vacio.
        echo 'VACIO';
 
    } else {
 
        // si hay algo, imprime el contenido.
        echo $_POST['prueba'];
    }
 
 
} else {
 
    // si no son correctos, imprime el siguiente mensaje.
    echo 'El usuario o contraseña es erroneo.';
}
?>


CÓDIGO PYTHON

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pycurl
import urllib
import cStringIO
 
response = cStringIO.StringIO()
 
url = '"DIRECCIÓN WEB'
 
post_vars = { 'prueba': 'Lk2',
              'pass': 'la_password',
              'form_id': 'user_login'}
 
c = pycurl.Curl()
c.setopt(pycurl.URL, url)
c.setopt(pycurl.POSTFIELDS, urllib.urlencode(post_vars))
c.setopt(c.WRITEFUNCTION, response.write)
c.perform()
c.close()
 
#print 
variable = response.getvalue()
 
print variable


IMPORTANTE:
Para que todo funcione, es necesario instalar la libreria pycurl, para ello:
1
sudo apt-get install python-pycurl


Y en principio eso es todo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
2
Responder