Como comunicarse con servidores web es un tema recurrente, en Python tenemos la mejor librería para hacer este trabajo, se llama Requests: http://docs.python-requests.org/en/latest/
Es tan sencilla de usar que no puede faltar en EasyDev, la he integrado en una rama de desarrollo y pueden ayudarme a probarla desde aquí: https://github.com/UniversoLibreMexicoA ... v2.5.0.oxt
Con esta librería se pueden hacer cosas tan simples, como saber nuestra IP publica.
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "http://api.ipify.org"
response = util.requests(data)
ip_public = response.Text
MsgBox ip_public
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "http://api.ipify.org"
response = util.requests(data)
ip_public = response.Text
data.Url = "http://freegeoip.net/csv/" & ip_public
response = util.requests(data)
util.msgbox(response.Text)
CUIDADO Si están usando AOO o LibO en Windows y usan un servidor con HTTPS, por ahora, deben de deshabilitar la verificación del mismo de la siguiente manera.
Código: Seleccionar todo
util = createUnoService("org.universolibre.EasyDev")
data = createUnoStruct("org.universolibre.EasyDev.Requests")
data.Method = "get"
data.Url = "https://api.ipify.org"
args = Array( _
Array("verify", False) _
)
data.Args = args
response = util.requests(data)
ip_public = response.Text
Pero... por ahora, con esto tienen para jugar un rato, la cantidad de servicios disponibles por webservice o por algun api web, es inmensa y sigue creciendo.
La librería tiene soporte incluso para páginas donde se tiene que identificar, pero, ya iremos viendo caso por caso.
!Feliz programación¡