[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:
IMPORTANTE:
Para que todo funcione, es necesario instalar la libreria pycurl, para ello:
Y en principio eso es todo.
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


2