[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-945?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12872275#action_12872275
 ] 

oliver  z edited comment on HTTPCLIENT-945 at 5/27/10 3:15 PM:
---------------------------------------------------------------

well thats sad.. because i dont know any browser which does not work (FF, IE, 
Opera, ..) 
then i have to do this myself 

thats the code that works for me - if someone has an equal problem

# HttpClient client = new HttpClient();  
# client.setRedirectStrategy(new DefaultRedirectStrategy() {  
#   
#             @Override  
#             public boolean isRedirected(HttpRequest hr, HttpResponse hr1, 
HttpContext hc) {  
#                 if (hr1.getStatusLine().getStatusCode() == 302) {  
#                     return true;  
#                 }  
#                 return false;  
#             }  
#   
#             @Override  
#             public HttpUriRequest getRedirect(HttpRequest request, 
HttpResponse response, HttpContext context) {  
#                 HttpGet get = null;  
#                 try {  
#   
#                     String newLocation = "" + 
response.getFirstHeader("Location");  
#                     newLocation = 
newLocation.substring(newLocation.indexOf("Location:")+10);  
#                     get = new HttpGet(newLocation);  
#   
#   
#                 } catch (Exception ex) {  
#                     System.out.println(ex.getLocalizedMessage());  
#                 }  
#                 return get;  
#             }  
#         });     

      was (Author: olze84):
    well thats sad.. because i dont know any browser which does not work (FF, 
IE, Opera, ..) 
then i have to do this myself 

i have now overwritten the isRedirected and it works, but can you help me with 
the getRedirect method?

            public HttpUriRequest getRedirect(HttpRequest request, HttpResponse 
response, HttpContext context) {
                HttpGet retVal = (HttpGet) request;
                try {
                    String newLocation = "" + 
response.getFirstHeader("Location");
                    retVal.setURI(new URI(newLocation));

                } catch (Exception ex) {
                    System.out.println(ex.getLocalizedMessage());
                }
                return retVal;
            }
        });

is not working, i get a cast exception... but when i use HttpUriRequest i cant 
set the new url
  
> HttpClient does not follow 302 
> -------------------------------
>
>                 Key: HTTPCLIENT-945
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-945
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>    Affects Versions: 4.0.1, 4.1 Alpha2
>         Environment: Win7, Netbeans 6.8, JDK6_20
>            Reporter: oliver  z
>
> i have a server which gives me a authentication string in the response 
> header. with that i can connect to my streamserver and download a video file 
> eg. mp3/avi...
> my server sends:
> [X-Powered-By=PHP/5.2.11, 
> Cache-Control=no-cache, no-store, must-revalidate, 
> Pragma=no-cache, 
> Expires=Sat, 26 Jul 2010 05:00:00 GMT, 
> Content-Type=audio/mpeg, 
> Location=http://mysub.myhost.com/3728/20713728.avi?__dd1__=1274891260, 
> Content-Length=0,
> Connection=close, 
> Date=Wed, 26 May 2010 16:17:40 GMT, 
> Server=lighttpd/1.5.0]
> this is the 302 (says wireshark) but HttpClient will just not follow
> but it must because the headers etc. are used for authentication 
> how can i achieve that?

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to