How do I stop webread from converting "%2B" into "+"?

1 view (last 30 days)
Unforunately, every time it webread runs it converts the all of the "%2B" into "+" and then returns an error. How do I get it to use the exact URL as entered???
It keeps returning this error:
Error using matlab.internal.webservices.HTTPConnector/copyContentToFile (line 389)
The server returned the status 403 with message "Forbidden" in response to the request to URL
https://s3.amazonaws.com/appforest_uf/f1620499445726x864228122125595900/JBL%20VRX932LAP%20PSHF+3dB%20-%202m%20-%207150%20142.csv.
Error in readContentFromWebService (line 62)
copyContentToFile(connection, filename);
Error in webread (line 125)
[varargout{1:nargout}] = readContentFromWebService(connection, options);
Here's my code:
TF = webread('https://s3.amazonaws.com/appforest_uf/f1620499445726x864228122125595900/JBL%20VRX932LAP%20PSHF%2B3dB%20-%202m%20-%207150%20142.csv')
  7 Comments
Rik
Rik on 25 Oct 2021
There isn't any command that I'm aware of. The idea is to replace every character with a value above 255 (or with a special meaning) by its hexadecimal version. So '+' becomes '%2B'. Since webread parses your URL for these changes, you can double-encode them: use '%252B' instead.
The idea is that webread parses the '%25' to a percent symbol and leaves the rest as is.
I have not tested this idea.
Nathan Lively
Nathan Lively on 25 Oct 2021
Thanks Rik. I tried this. Unfortunately, it produces the same error.
oldURL = 'https://s3.amazonaws.com/appforest_uf/f1620499445726x864228122125595900/JBL%20VRX932LAP%20PSHF%2B3dB%20-%202m%20-%207150%20142.csv';
newURL = strrep(url,'%2B','%252B');
TF = webread(newURL);

Sign in to comment.

Answers (0)

Categories

Find more on Downloads in Help Center and File Exchange

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!