How can I import "curl" API in MATLAB using webread function?
16 views (last 30 days)
Show older comments
I am trying to import a dataset from a website (https://www.sapsailing.com/sailingserver/webservices/api/v1/) using their API. The specific website to use (from their example) is: curl "https://www.sapsailing.com/sailingserver/api/v1/regattas/Kornati%20Cup%202019%20-%20B46/races/B46%20R1/startanalysis"
In the case above, I believe my issue is the "curl" portion of the website. I am unsure what this is or how to code it into MATLAB. I tried the following:
api_url = 'https://www.sapsailing.com/sailingserver/api/v1/regattas/Kornati%20Cup%202019%20-%20B46/races/B46%20R1/startanalysis';
api = webread(api_url);
With this error message:
Error using matlab.internal.webservices.HTTPConnector/copyContentToByteArray
The server returned the status 404 with message "Not Found" in response to the request to URL
https://www.sapsailing.com/sailingserver/api/v1/regattas/Kornati%20Cup%202019%20-%20B46/races/B46%20R1/startanalysis.
Error in readContentFromWebService (line 46)
byteArray = copyContentToByteArray(connection);
Error in webread (line 125)
[varargout{1:nargout}] = readContentFromWebService(connection, options);
I also included "curl" in the webread function, but that did not work either.
I am able to import data from a similar website using this code:
api_url = 'http://www.sapsailing.com/sailingserver/api/v1/leaderboards';
api = webread(api_url);
I appreciate any help.
Thank you,
Josh
0 Comments
Accepted Answer
Jan
on 28 Apr 2022
Edited: Jan
on 28 Apr 2022
What about using curl instead? This is included in Linux, MacOS and Windows also:
system(['curl "https://www.sapsailing.com/sailingserver/api/v1/regattas/', ...
'Kornati%20Cup%202019%20-%20B46/races/B46%20R1/startanalysis"'])
The web service replies: "Could not find a regatta with name 'Kornati Cup 2019 - B46'"
So there seems to be another problem.
3 Comments
Jan
on 29 Apr 2022
Try:
system('curl "insert your URL">D:\YourFolder\FileName')
to write the output to a file instead of displaying it in the command window.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!