[OpenLayers-Users] proxy.cgi is truncating ampersand

Richard Greenwood richard.greenwood at gmail.com
Sat Apr 16 19:41:10 EDT 2011


On Sat, Apr 16, 2011 at 5:01 PM, Trond Michelsen
<trondmm-openlayers at crusaders.no> wrote:
> On Sat, Apr 16, 2011 at 04:55:33PM -0600, Richard Greenwood wrote:
>> The proxy.cgi python script is truncating everything after the
>> ampersand "&". Specifically, my url:
>> http://www.greenwoodmap.com/cgi-bin/proxy.cgi?url=http://records.sublettewyo.com/mapserver/listJSON.php?ts=greenwood&key=value
>> And the access_log at records.sublettewyo.com shows:
>> 50.16.240.30 - - [16/Apr/2011:16:47:29 -0600] "GET
>> /mapserver/listJSON.php?ts=greenwood HTTP/1.1" 200 16118
>>
>> Notice that the '&' and everything following it is missing in the access_log.
>> I've tried substituting  &#38;  &amp;  \&  '&'  "&" without luck?
>> What am I missing?
>
> &amp; is how you escape ampersands in HTML, when you want to escape it
> in URLs, you must use %hex notation. i.e. %26. So, the URL should be:
>
> http://www.greenwoodmap.com/cgi-bin/proxy.cgi?url=http://records.sublettewyo.com/mapserver/listJSON.php?ts=greenwood%26key=value
>
> I would actually also escape the "?" and "=" just to be on the safe side
>
> http://www.greenwoodmap.com/cgi-bin/proxy.cgi?url=http://records.sublettewyo.com/mapserver/listJSON.php%3Fts%3Dgreenwood%26key%3Dvalue
>
> Of course, you could also just use the javascript function escape().
>
> var proxy = "http://www.greenwoodmap.com/cgi-bin/proxy.cgi";
> var target = "http://records.sublettewyo.com/mapserver/listJSON.php?ts=greenwood&key=value";
> var full_url = proxy + "?url=" + escape(target);
>
> --
> Trond Michelsen
>

Trond,

Thank you very much for your very prompt and very detailed answer.

Best regards,
Rich

-- 
Richard Greenwood
richard.greenwood at gmail.com
www.greenwoodmap.com


More information about the Users mailing list