webread with comma in url

2 views (last 30 days)
Khaled Khairy
Khaled Khairy on 24 Mar 2016
Commented: Guillaume on 24 Mar 2016
how can I use webread with comma in URL: e.g. my call: > url = 'page.html?q=1,2,3'; resp = webread(url);
Using webread this encodes to : page.html?q=1%2c2%2c3 and the server I'm calling returns an error (I have no control over that service and cannot change its API). There is much information about URI encoding, for example here: http://stackoverflow.com/questions/2366260/whats-valid-and-whats-not-in-a-uri-query But it doesn't help with Matlab's webread. Do you know what I need to do so that it passes a comma ","?

Accepted Answer

Guillaume
Guillaume on 24 Mar 2016
That's because those things after the '?' are not really part of the URI, but are query parameters. webread separate these from the base URI. You just specify these query parameters after the base URI as pairs of parameter name and parameter value. In your example:
webread('http://somwhere.com/page.html', 'q', [1 2 3])
  2 Comments
Khaled Khairy
Khaled Khairy on 24 Mar 2016
Edited: Khaled Khairy on 24 Mar 2016
Thank you. This works for the above case. However, some APIs don't expect query parameters. I have an API call like this: >url = 'http://somewhere.com/somebranch/4,5';
is there a way for webread to construct this? (apologies if this seems to be a separate question) Again, the problem is the comma.
Guillaume
Guillaume on 24 Mar 2016
As far as I know, if your server makes a difference between
http://somewhere.com/somebranch/4,5
and
http://somewhere.com/somebranch/4%2c5
then your server is not http compliant. They are supposed to represent the exact same URI.

Sign in to comment.

More Answers (0)

Products

Community Treasure Hunt

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

Start Hunting!