这是Clojure,但希望您能以Java开发人员的身份阅读:
我正在使用this构造函数来构造URI.
当我有一个值中包含空格和与号的foo
查询参数时,我可以这样做:
(new java.net.URI "https" "foobar.net" "/" "foo= hello&bye " nil )
但这实际上创建了两个参数,因为与号没有转义:
#object[java.net.URI 0x3b809711 "https://foobar.net/?foo=%20hello&bye%20"]
如果我手动转义&号:
user=> (new java.net.URI "https" "foobar.net" "/" "foo= hello%26bye " nil )
#object[java.net.URI 0x5c84624f "https://foobar.net/?foo=%20hello%2526bye%20"]
你看,它可以双重逃脱我逃脱的安曼德.在这里做什么?