in reply to make useragent follow redirects in post actions
To answer to your question the RFC2616 says:
If the 301 status code is received in response to a request other than GET or HEAD, the user agent MUST NOT automatically redirect the request unless it can be confirmed by the user, since this might change the conditions under which the request was issued.
Note: When automatically redirecting a POST request after receiving a 301 status code, some existing HTTP/1.0 user agents will erroneously change it into a GET request.
For yor other question : You can make a new MyUa.pm redefining only redirect_ok (or modified UserAgent.pm, but it's dirty) to follow your rules.
#!/usr/bin/pl package MyUa; use LWP::UserAgent; @ISA = "LWP::UserAgent"; sub redirect_ok { # here depending on what you've decided # you return true to follow the redirect # or false to not follow # (we set up the return value depending on # other (previously set up) variable to achieve our goal) # # You can also set some variables here to to modify the way # you'll retrive the new pages elsewhere in your prog/in the LWP #(argh, dirty !) # to change POST to GET by example... } 1;
At the office we have configured 3 different behaviour for redirect on POST :
Strict RFC compliance->don't follow to new location.
'Rfc erroneous' mode->follow to new location but with a get (as the RFC say you shouldn't POST automatically to the new location.
Weird mode(but usefull)-> where we POST to the new location.
I must precise that ALL these modes are needed as we found, in real life, sites that needs one of these modes...
|
---|
Replies are listed 'Best First'. | |
---|---|
Re: Re: make useragent follow redirects in post actions
by Specimen (Acolyte) on Feb 21, 2001 at 15:34 UTC | |
Re: Re: make useragent follow redirects in post actions
by Specimen (Acolyte) on Feb 21, 2001 at 17:42 UTC | |
by merlyn (Sage) on Feb 21, 2001 at 18:48 UTC | |
by Anonymous Monk on Feb 21, 2001 at 21:14 UTC | |
by Anonymous Monk on Aug 12, 2002 at 03:50 UTC |
In Section
Seekers of Perl Wisdom