Acceso a Servicios Web con pycurl en Python
En este tutorial, aprenderemos a acceder a servicios web con pycurl en Python. pycurl es una biblioteca de Python que proporciona una interfaz de alto nivel para realizar solicitudes HTTP.
Instalación
Para instalar pycurl, podemos usar el administrador de paquetes de nuestra distribución. En Ubuntu, podemos usar el siguiente comando:
sudo apt install python3-pycurl
Ejemplo básico
En este ejemplo, haremos una solicitud HTTP GET a la página de inicio de Google:
import pycurl
def main():
# Crear una instancia de pycurl
curl = pycurl.Curl()
# Establecer la URL
curl.setopt(pycurl.URL, 'https://www.google.com')
# Realizar la solicitud
curl.perform()
# Obtener el código de estado
code = curl.getinfo(pycurl.HTTP_CODE)
# Imprimir el código de estado
print(code)
if __name__ == '__main__':
main()
Este código imprimirá el código de estado de la respuesta HTTP. En este caso, el código de estado debería ser 200, que indica que la solicitud se realizó correctamente.
Solicitudes POST
Para realizar una solicitud POST, podemos usar el método setopt()
para establecer el método HTTP a POST
. También debemos especificar los datos que se enviarán en la solicitud.
En este ejemplo, haremos una solicitud POST a un servidor que acepta datos JSON. Los datos que enviaremos serán un nombre y una edad:
import pycurl
import json
def main():
# Crear una instancia de pycurl
curl = pycurl.Curl()
# Establecer la URL
curl.setopt(pycurl.URL, 'https://example.com/api/users')
# Establecer el método HTTP
curl.setopt(pycurl.HTTP_POST, 1)
# Establecer los datos de la solicitud
data = json.dumps({'name': 'John Doe', 'age': 30})
curl.setopt(pycurl.POSTFIELDS, data)
# Realizar la solicitud
curl.perform()
# Obtener el código de estado
code = curl.getinfo(pycurl.HTTP_CODE)
# Imprimir el código de estado
print(code)
if __name__ == '__main__':
main()
Este código imprimirá el código de estado de la respuesta HTTP. En este caso, el código de estado debería ser 201, que indica que la solicitud se realizó correctamente y se creó un nuevo recurso.
Solicitudes con parámetros
Para realizar una solicitud con parámetros, podemos usar el método setopt()
para establecer los parámetros. Los parámetros se especifican como un diccionario.
En este ejemplo, haremos una solicitud GET a un servidor que acepta parámetros en la URL. Los parámetros que enviaremos serán un nombre y una edad:
import pycurl
def main():
# Crear una instancia de pycurl
curl = pycurl.Curl()
# Establecer la URL
curl.setopt(pycurl.URL, 'https://example.com/api/users?name=John+Doe&age=30')
# Realizar la solicitud
curl.perform()
# Obtener el código de estado
code = curl.getinfo(pycurl.HTTP_CODE)
# Imprimir el código de estado
print(code)
if __name__ == '__main__':
main()
Este código imprimirá el código de estado de la respuesta HTTP. En este caso, el código de estado debería ser 200, que indica que la solicitud se realizó correctamente.
Conclusión
En este tutorial, aprendimos a acceder a servicios web con pycurl en Python. pycurl es una biblioteca poderosa que nos permite realizar una amplia gama de solicitudes HTTP.