How can I import "curl" API in MATLAB using webread function?

6 visualizaciones (últimos 30 días)
Josh Goreham
Josh Goreham el 28 de Abr. de 2022
Comentada: Josh Goreham el 29 de Abr. de 2022
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

Respuesta aceptada

Jan
Jan el 28 de Abr. de 2022
Editada: Jan el 28 de Abr. de 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 comentarios
Jan
Jan el 29 de Abr. de 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.
Josh Goreham
Josh Goreham el 29 de Abr. de 2022
That worked geat. Thank you!

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2022a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by