Re: Post Method Problem
Derek J. Balling (dballing@yahoo-inc.com)
Thu, 4 Jan 2001 09:25:17 -0800
At 10:35 PM -0800 1/3/01, Gisle Aas wrote:
>"Bernie Aua" <bernie@summum.org> writes:
>
>> form contents to both secure and non-secure URLs. For the most part,
>> everything works great. However, I have encountered a problem with a
>> specific secure URL. When I submit a form via the POST method to this URL:
>>
>> https://ssl.aego.com:443/%ae6e1ee074dabd0da94dc811d4
>>
>> I always receive a 500 server error for the response. Using Internet
>> Explorer, everything works fine. Upon examining the request header in my
>> application, I see this:
>>
>> POST https://ssl.aego.com/%AE6e1ee074dabd0da94dc811d4
>>
>> It appears LWP has changed the %ae in the URL to %AE. Does anyone know if
>> there is a way I can keep LWP from changing this?
>
>This happens because the URI::URL->new always calls:
>
> $self->[0] = $self->[0]->canonical;
>
>I can't really remember why. Probably just because this was the
>behaviour in the original URI::URL module. But the fact that the %AE
>escape now is upper case is not supposed to matter for the server.
>
>One way to avoid this is to set
>
> $HTTP::URI_CLASS = "URI";
>
>before you construct any request objects. This avoids using the
>URI::URL module (the default for backwards comptibility). The URI
>class does not do the automatic canonicalization.
But in reality, isn't the answer here "fix the URL"? I mean...
"percent-character-character" has a defined meaning in a URL, and it is
apparently being subverted by broken technology here.
Or am I completely missing something here?
--
--------------------------------------------------------
Derek J. Balling 408-530-5062
Technical Yahoo Do You Yahoo!?