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

Oleg Kalnichevski commented on HTTPCLIENT-1023:
-----------------------------------------------

Roy, is this a question or a bug report? There are several types of redirects 
that HttpClient is simply not supposed to execute automatically. If you are 
reasonably convinced there is a problem with HttpClient please provide a 
complete wire / context log of an HTTP session that exhibits the problem:

http://hc.apache.org/httpcomponents-client-ga/logging.html

Oleg

> Unable to get the redirect uri from 
> http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single
> ----------------------------------------------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-1023
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-1023
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient
>    Affects Versions: 4.0.3
>         Environment: windows XP
>            Reporter: Roy Silva
>
> Hi,
> I visit the above page 
> http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single.
>  This page takes me to http://www.brent.gov.uk/revsbens.nsf/counciltax/LBB-1. 
> The problem is that I can not reach the other page via a redirect. If I user 
> another redirection site, it works but not the one above. 
> I use the httphead to get the redirected url then construct an htmlget to get 
> the data.  The program stops working at         HttpResponse response = 
> httpClient.execute(httpHead, localContext);
> Please help. Thank you in advance.
> Please see my code.
> public static void main(String[] args) throws Exception {
>               final HttpParams params = new BasicHttpParams();
>               HttpClientParams.setRedirecting(params, false);
>               
>               String login = "username:password";
>               String encoded = new 
> String(Base64.encodeBase64(login.getBytes()));
>               Properties systemSettings = System.getProperties();
>               systemSettings.put("proxySet", "true");
>               systemSettings.put("http.proxyHost", "proxy");
>               systemSettings.put("http.proxyPort", "port");
>               /* basic credentials for site being accessed */
>               CredentialsProvider credProvider = new 
> BasicCredentialsProvider();
>               credProvider.setCredentials(new AuthScope("proxy", port),
>                               new UsernamePasswordCredentials("username", 
> "password"));
>               DefaultHttpClient httpClient = new DefaultHttpClient();
>                               
>               HttpContext localContext = new BasicHttpContext();
>               httpClient.setCredentialsProvider(credProvider);
>               ProxySelectorRoutePlanner routePlanner = new 
> ProxySelectorRoutePlanner(httpClient.getConnectionManager().getSchemeRegistry(),
>  ProxySelector
>                               .getDefault());
>               httpClient.setRoutePlanner(routePlanner);
>               //HttpHead httpHead = new 
> HttpHead("http://news.google.com/news/url?sa=t&fd=R&usg=AFQjCNGrJk-F7Dmshmtze2yhifxRsv8sRg&url=http://www.mtv.com/news/articles/1647243/20100907/story.jhtml";);
>                HttpHead httpHead = new
>                
> HttpHead("http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single";);
>               DefaultRedirectHandler redHand = new DefaultRedirectHandler();
>               httpClient.setRedirectHandler(redHand);
>               HttpResponse response = httpClient.execute(httpHead, 
> localContext);
>                if (response.getStatusLine().getStatusCode() != 
> HttpStatus.SC_OK)
>                   throw new IOException(response.getStatusLine().toString());
>               HttpUriRequest currentReq = (HttpUriRequest) 
> localContext.getAttribute( 
>                       ExecutionContext.HTTP_REQUEST);
>               HttpHost currentHost = (HttpHost)  localContext.getAttribute( 
>                       ExecutionContext.HTTP_TARGET_HOST);
>               String currentUrl = currentHost.toURI() + currentReq.getURI();
>               
>               System.out.println(">>> " +currentUrl);
>               
>               
>               
>               System.out.println("response status: " + 
> response.getStatusLine());
>               // test the target
>               HttpHost target = (HttpHost) 
> localContext.getAttribute(ExecutionContext.HTTP_TARGET_HOST);
>               HttpUriRequest request = (HttpUriRequest) 
> localContext.getAttribute(ExecutionContext.HTTP_REQUEST);
>               System.out.println("target is: " + target);
>               System.out.println("final req: " + request.getURI());
>               System.out.println("target method: " + request.getMethod());
>               System.out.println("redHand: " + 
> redHand.isRedirectRequested(response, localContext));
>               
>               // now construct an httpGet
>               HttpGet httpGet = new HttpGet(request.getURI());
>               response = httpClient.execute(httpGet, localContext);
>               HttpEntity entity = response.getEntity();
>               if (entity != null) {
>                       BufferedReader in = null;
>                       try {
>                               InputStream inputStream = entity.getContent();
>                               in = new BufferedReader(new 
> InputStreamReader(inputStream));
>                               String inputLine;
>                               while ((inputLine = in.readLine()) != null) {
>                                       System.out.println(inputLine);
>                                       while ((inputLine = in.readLine()) != 
> null) {
>                                               TagStripper tagStripper = new 
> TagStripper(inputLine);
>                                               while (tagStripper.hasNext()) {
>                                                       String tempString = 
> tagStripper.next();
>                                                       ContentStripper 
> contentStripper = new ContentStripper(tempString);
>                                                       String name = 
> contentStripper.getName();
>                                                       if (name != null) {
>                                                               if 
> (name.length() > 0) {
>                                                                       String 
> content = contentStripper.getContent();
>                                                                       
> System.out.println("Name: " + name + " content: " + content);
>                                                               }
>                                                       }
>                                               }
>                                               // 
> System.out.println(inputLine);
>                                       }
>                               }
>                       } catch (Exception e) {
>                               System.out.println("Error in communicaton: " + 
> e.getMessage());
>                       }
>                       in.close();
>               }
>               httpClient.getConnectionManager().shutdown();
>       }

-- 
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