[pyar] request en Flask

Jose Luis joseluiszanotti en gmail.com
Mie Ene 4 01:19:51 ART 2017


http://docs.python-requests.org/en/master/user/quickstart/

fijate q ahí hay un ejempl de como se hace un post de json


    More complicated POST requests

Typically, you want to send some form-encoded data — much like an HTML 
form. To do this, simply pass a dictionary to the|data|argument. Your 
dictionary of data will automatically be form-encoded when the request 
is made:

>>>payload  =  {'key1':  'value1',  'key2':  'value2'}

>>>r  =  requests.post("http://httpbin.org/post",  data=payload)
>>>print(r.text)
{
...
"form": {
"key2": "value2",
"key1": "value1"
},
...
}

There are many times that you want to send data that is not 
form-encoded. If you pass in a|string|instead of a|dict|, that data will 
be posted directly.

For example, the GitHub API v3 accepts JSON-Encoded POST/PATCH data:

>>>import  json

>>>url  =  'https://api.github.com/some/endpoint'
>>>payload  =  {'some':  'data'}

>>>r  =  requests.post(url,  data=json.dumps(payload))

Instead of encoding the|dict|yourself, you can also pass it directly 
using the|json|parameter (added in version 2.4.2) and it will be encoded 
automatically:

>>>url  =  'https://api.github.com/some/endpoint'
>>>payload  =  {'some':  'data'}

>>>r  =  requests.post(url,  json=payload)


Saludos

El 4/1/2017 a las 00:40, Luciano Andino escribió:
>
> El 4 de enero de 2017, 6:21, Jose Luis <joseluiszanotti en gmail.com 
> <mailto:joseluiszanotti en gmail.com>> escribió:
>
>     Luciano probaste con
>
>         argumentos=request.get_json()
>
>         print argumentos['val1']
>         print argumentos['val2']
>
>     ?
>
>
> Gracias por responder,
>
> Me dejó de dar el error anterior, pero ahora sale un
> "POST /api/token HTTP/1.1" 400 -
>
> y del lado cliente Error 500, al no poder leer la respuesta de la 
> llamada, tengo un:
> ValueError: No JSON object could be decoded
>
>
>
>
>     El 4/1/2017 a las 00:16, Luciano Andino escribió:
>>     Buenas! tengo una consulta con paso de parámetros. Utilizo Flask
>>     y cuando hago un request pasando datos
>>
>>
>>     headers = {'content-type': 'application/json'}
>>     r = requests.post(url, data=params, headers=headers)
>>
>>
>>     del otro lado quiero leer lo que pasé:
>>
>>     @app.route('/api/token', methods=['POST'])
>>     def recibirtoken():
>>         argumentos=request.args()
>>
>>     el error es:
>>     TypeError: 'ImmutableMultiDict' object is not callable (y no
>>     puedo leer nada)
>>
>>     también he visto que está request y requests (?)
>>
>>     gracias
>>
>>
>>
>>
>>
>>     -- 
>>     Luciano Andino
>>     Ing. en Sistemas de Información
>>     UTN FRSF
>>     BMSTU
>>
>>
>>
>>
>>     _______________________________________________
>>     pyar mailing listpyar en python.org.ar <mailto:pyar en python.org.ar>
>>     http://listas.python.org.ar/listinfo/pyar
>>     <http://listas.python.org.ar/listinfo/pyar>
>>
>>     PyAr - Python Argentina - Sitio web:http://www.python.org.ar/
>>
>>     La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina -http://www.usla.org.ar
>     _______________________________________________ pyar mailing list
>     pyar en python.org.ar <mailto:pyar en python.org.ar>
>     http://listas.python.org.ar/listinfo/pyar
>     <http://listas.python.org.ar/listinfo/pyar> PyAr - Python
>     Argentina - Sitio web: http://www.python.org.ar/ La lista de PyAr
>     esta Hosteada en USLA - Usuarios de Software Libre de Argentina -
>     http://www.usla.org.ar 
>
> -- 
> Luciano Andino Ing. en Sistemas de Información
> UTN FRSF BMSTU
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20170104/3c31e324/attachment-0001.html>


Más información sobre la lista de distribución pyar