I found a bug in my patch. We should escape `?`, but `URI.escape` doesn't escape it. I'll fix later.