我正在使用plsql向REST服务发送一些http请求。部分请求是一些纯文本用户数据,可以包含任何字符。我需要转义#,&amp ;,等字符?我如何逃避这些非安全的网址字符?我没有代码,所以我不能使用第三方库。
答案 0 :(得分:1)
你看过UTL_URL.ESCAPE功能吗?
基本上,包UTL_URL有两个函数,为URL字符提供转义和unescape机制。在使用URL之前,使用转义函数转义URL以通过UTL_HTTP包获取网页。在从URL中提取信息之前,使用unescape函数来转义转义的URL。
例如:
SELECT UTL_URL.ESCAPE('http://www.acme.com/a url with space.html') FROM DUAL;
返回:
更多示例here
您也可以部分使用它:
SELECT 'http://www.acme.com/search?check=' || UTL_URL.ESCAPE('some data'); FROM DUAL;