Sean, > I'd like to point out that very often URLs in a query string do not need to > be encoded. Both the Python (see my earlier example) and Node standard > parsers will handle the string >
While researching that issue, and from my pat memories, I found that there is a bit of confusion around the subject when to escape or not > /viscurl?option1=foo&option2=bar&url=https://example.com/foo.tif > > without any URL encoding. https://tools.ietf.org/html/rfc3986 says in "3.4. Query" """ query = *( pchar / "/" / "?" ) The characters slash ("/") and question mark ("?") may represent data within the query component. Beware that some older, erroneous implementations may not handle such data correctly when it is used as the base URI for relative references (Section 5.1), apparently because they fail to distinguish query data from path data when looking for hierarchical separators. However, as query components are often used to carry identifying information in the form of "key=value" pairs and one frequently used value is a reference to another URI, it is sometimes better for usability to avoid percent- encoding those characters. """ But urrlib.urlencode() encodes slashes in values of query arguments, so they probably decided to avoid isues with the above mentionned older, erroneous implementations >>> urllib.urlencode({'foo':'bar', 'url': 'http://example.com'}) 'url=http%3A%2F%2Fexample.com&foo=bar' > The web already has escaping rules built in, one of the benefits I alluded > to above. OK, let's follow your suggestion of using URL query string formatting, while this hasn't gone in a official release. Could you create a ticket about that ? Even -- Spatialys - Geospatial professional services http://www.spatialys.com _______________________________________________ gdal-dev mailing list gdal-dev@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/gdal-dev