I think OlivierS is right with the 1st hint, when looking at the docs here http://community.lithium.com/t5/Developers-Knowledge-Base/http-client-FreeMarker-Context-Object/ta-p/80614 the URLs in the example are also not encoded and as far as I remember without looking at my code, i never encoded the request URL either...
Also the second point is important, where does it fail, when you just have the http.client making the request or when code is present that is supposed to print the response (for example)? In that case you'd have to use the http.client.response context object!