How to escape the url encoding in URLWRITE
5 ビュー (過去 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 で Startup and Shutdown についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!