Sono sicuro che la risposta a questo sarà un problema di codifica dei caratteri dolorosamente ovvio ...Perché il curl sta troncando questa stringa di query?
Sto usando curl sulla riga di comando per testare alcuni endpoint in un'applicazione python. L'endpoint accetta i parametri url di latitudine e longitudine. Niente di troppo speciale. Ho messo nel comando:
curl -v -L http://localhost:5000/pulse/?lat=41.225&lon=-73.1
Server risponde, con output dettagliato ricciolo:
* Connected to localhost (127.0.0.1) port 5000 (#0)
> GET /pulse/?lat=41.225 HTTP/1.1
> User-Agent: curl/7.21.6 (i686-pc-linux-gnu) libcurl/7.21.6 OpenSSL/1.0.0e zlib/1.2.3.4 libidn/1.22 librtmp/2.3
> Host: localhost:5000
> Accept: */*
>
* HTTP 1.0, assume close after body
< HTTP/1.0 500 INTERNAL SERVER ERROR
< Content-Type: application/json
< Content-Length: 444
< Server: Werkzeug/0.8.1 Python/2.7.2+
< Date: Wed, 01 Feb 2012 17:06:29 GMT
<
{
"msg": "TypeError: float() argument must be a string or a number",
"flag": 0,
"stack": [
"Traceback (most recent call last):",
" File \"engine.py\", line 139, in dispatch_request",
" return getattr(self, 'action_'+endpoint)(request, **values)",
" File \"engine.py\", line 818, in action_getpulse",
" lon = float(request.args.get('lon'))"
],
"err": 1
* Closing connection #0
}
[1]+ Done
Sulla seconda riga di quella discarica, è ovvio che il secondo parametro, lon
, non viene inviato . Che cosa sto facendo di sbagliato? Grazie.
Vuoi prendere in considerazione ri-accettare la risposta? Il secondo sembra più preciso. –