API liefert immer Internal Server Fehler
Ich versuche per API meinen Stromverbrauch auszulesen. Das besorgt normalerweise ein Python-Skript, aber neuerdings liefert dies immer Fehler. Ich habe deshalb den Aufruf auf der Command Line mit curl nochmals nachgebaut und erhalte immer "HTTP 1.1 476 Internal Server Error". Ist an der API irgend etwas geändert worden? Hier mein Aufruf (ohne echte Sensor-ID und Token-ID):
curl -v -k -X GET \
-H "Accept: application/json" \
-H "X-Version: 1.0" \
-H "X-Token: " \
"https://api.mysmartgrid.de:8443/sensor/?interval=hour&unit=watt"
* Trying 5.9.53.130...
* Connected to api.mysmartgrid.de (5.9.53.130) port 8443 (#0)
* TLS 1.2 connection using TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
* Server certificate: api.mysmartgrid.de
* Server certificate: mySmartGrid CA
> GET /sensor/?interval=hour&unit=watt HTTP/1.1
> Host: api.mysmartgrid.de:8443
> User-Agent: curl/7.43.0
> Accept: application/json
> X-Version: 1.0
> X-Token:
>
< HTTP/1.1 474 Internal Server Error
< Server: nginx
< Date: Tue, 19 Jan 2016 18:29:00 GMT
< Content-Length: 0
< Connection: keep-alive
<
* Connection #0 to host api.mysmartgrid.de left intact
Die Python-Implementierung liefert den Return-Code 500 und den Grund "Internal Server Error". Im Content steht dann folgendes:
500 Internal Server ErrorInternal Server ErrorThe server encountered an error while processing this request:{badarg,[{re,run,[undefined,"[0-9a-f]+",[]]},
{flukso_sensor_xyz,check_hex,2},
{flukso_sensor_xyz,malformed_POST,2},
{webmachine_resource,resource_call,3},
{webmachine_resource,do,3},
{webmachine_decision_core,resource_call,1},
{webmachine_decision_core,decision,1},
{webmachine_decision_core,handle_request,2}]}mochiweb+webmachine web server
Was ist hier falsch?
Gruß
B. Wild
Hallo,
In dem Request fehlen Sensor-Id und Token. Die Sensor-Id gehört in die Url hinter /sensor/, das Token hinter X-Token in den Header.
Viele Grüße,
Stephan