How to escape the url encoding in URLWRITE
4 次查看(过去 30 天)
显示 更早的评论
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 个评论
Walter Roberson
2013-10-18
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 ?
采纳的回答
Friedrich
2013-10-21
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 个评论
Walter Roberson
2013-10-22
I would substitute char(252) for the %7C in your string, and then let the url encoder transform it to %7c
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Error Handling 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!