How to escape the url encoding in URLWRITE
4 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Neil Caithness
am 18 Okt. 2013
Kommentiert: Neil Caithness
am 23 Okt. 2013
Hi
I've encountered a slight problem trying to use URLWRITE with 'get' parameters.
keyStr = 'Fmjtd%7Cluubnuur2h%xxxxxxxxxxx'; % not a real key
params = {'key' keyStr};
Now with appropriate url and filename I try:
[~,status] = urlwrite(url,filename,'get',params);
But URLWRITE calls java.net.URLEncoder.encode on the params so %'s are turned into %25, and of course the key fails.
How can I escape the url encoding? I've tried '%%' and '\%' but neither work.
Any ideas appreciated.
Neil
2 Kommentare
Walter Roberson
am 18 Okt. 2013
Is the %7C intended to be interpreted on the other end as literally '%' '7' 'C', or is it intended that the other end decode it to character #252 ?
Akzeptierte Antwort
Friedrich
am 21 Okt. 2013
Hi,
"All other characters are unsafe and are first converted into one or more bytes using some encoding scheme. Then each byte is represented by the 3-character string "%xy", where xy is the two-digit hexadecimal representation of the byte."
Seems like you need your own customized version of urlwrite here.
4 Kommentare
Walter Roberson
am 22 Okt. 2013
I would substitute char(252) for the %7C in your string, and then let the url encoder transform it to %7c
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Startup and Shutdown finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!