soxlo Posted April 22, 2021 Share Posted April 22, 2021 I tried to use the Froxlor API with curl but I got stuck at "Invalid request header". This is the curl command I am trying: curl --location --request POST 'https://MYDOMAIN/api.php' \ --header 'secret: mysecretstring' \ --header 'apikey: myapikey' \ --header 'Content-Type: application/json' \ --data-raw '{ "command": "Froxlor.listFunctions" }' of course I insert the real domain and secret strings this is clear not the issue. If I understand the code right it fails even before trying to authenticate: https://github.com/Froxlor/Froxlor/blob/bd48fb732847c3926526335603ca2f3ba2c7c3b4/lib/Froxlor/Api/FroxlorRPC.php#L30 Any idea whats wrong with my request header? EDIT: This is a working curl command: curl --location --request POST 'https://MYDOMAIN/api.php' \ --header 'Content-Type: application/json' \ --data-raw '{ "header": { "apikey": "MYAPIKEY", "secret": "MYSECRET" }, "body": { "command": "Froxlor.listFunctions" } }' Link to comment Share on other sites More sharing options...
1 d00p Posted April 22, 2021 Share Posted April 22, 2021 apikey and secret are not http-header fields but part of the request body, e.g. request = [header => [apikey => key, secret = sec], body => [command => ..., params => ...]] Link to comment Share on other sites More sharing options...
1 d00p Posted April 22, 2021 Share Posted April 22, 2021 Maybe this helps too: https://github.com/Froxlor/Froxlor/tree/master/doc/example Link to comment Share on other sites More sharing options...
0 soxlo Posted April 22, 2021 Author Share Posted April 22, 2021 Thank you, it's working now. I was really triggered by the word "header" I added a working curl command in the original post as I am not able to add a code block into a reply?! Link to comment Share on other sites More sharing options...
Question
soxlo
I tried to use the Froxlor API with curl but I got stuck at "Invalid request header".
This is the curl command I am trying:
curl --location --request POST 'https://MYDOMAIN/api.php' \ --header 'secret: mysecretstring' \ --header 'apikey: myapikey' \ --header 'Content-Type: application/json' \ --data-raw '{ "command": "Froxlor.listFunctions" }'
of course I insert the real domain and secret strings this is clear not the issue.
If I understand the code right it fails even before trying to authenticate:
https://github.com/Froxlor/Froxlor/blob/bd48fb732847c3926526335603ca2f3ba2c7c3b4/lib/Froxlor/Api/FroxlorRPC.php#L30
Any idea whats wrong with my request header?
EDIT:
This is a working curl command:
curl --location --request POST 'https://MYDOMAIN/api.php' \ --header 'Content-Type: application/json' \ --data-raw '{ "header": { "apikey": "MYAPIKEY", "secret": "MYSECRET" }, "body": { "command": "Froxlor.listFunctions" } }'
Link to comment
Share on other sites
3 answers to this question
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now