From: Michael Fellinger Date: 2008-08-14T13:30:30+09:00 Subject: Re: Are square brackets not allowed in a URI? On Thu, Aug 14, 2008 at 1:12 PM, Just Another Victim of the Ambient Morality wrote: > I could swear that this URL works: > > > http://www.teamliquid.net/tlpd/players/189_YellOw[ArnC] > > > ...but parsing this with URI throws an exception claiming that this is > invalid. > I don't know exactly what URI's are but Mechanize is using it to parse > URLs and this appears to be a valid URL so it looks like either Mechanize's > bug is in using Ruby's URI module or the URI module in not accepting valid > URLs. Either that or there's something I'm totally not understanding (like > my browser lying to me or something). Can someone tell me what's going on? > Thank you! Your browser is, in fact, lying to you, the URL it opens is : http://www.teamliquid.net/tlpd/players/189_YellOw%5BArnC%5D Browsers always (un)escape URLs for readability, take a look for example at the way markdown escapes email addresses: http://daringfireball.net/projects/markdown/syntax#autolink While it's unfortunate for us coders, not properly escaped hrefs in links are a very common thing on the web, fortunately there are not that many URIs that use special characters, and sometimes people actually do escape them before slating them into HTML, but not always. There's no simple workaround i can think of, short of patching uri.rb ^ manveru