You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hc.apache.org by "Roy Silva (JIRA)" <ji...@apache.org> on 2010/11/18 15:21:14 UTC
[jira] Created: (HTTPCLIENT-1023) Unable to get the redirect uri
from
http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org
[jira] Commented: (HTTPCLIENT-1023) Unable to get the redirect uri
from
http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single
Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
[ 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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org
[jira] Resolved: (HTTPCLIENT-1023) Unable to get the redirect uri
from
http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single
Posted by "Oleg Kalnichevski (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Oleg Kalnichevski resolved HTTPCLIENT-1023.
-------------------------------------------
Resolution: Not A Problem
Some sites may simply have issues with HEAD requests.
Please post all your further questions to the user list. Usually a wire log of the HTTP session helps find out the cause of the problem a great deal.
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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org
[jira] Commented: (HTTPCLIENT-1023) Unable to get the redirect uri
from
http://local.direct.gov.uk/LDGRedirect/index.jsp?LGSL=58&LGIL=08&AgencyId=35&Type=Single
Posted by "Roy Silva (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/HTTPCLIENT-1023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12933456#action_12933456 ]
Roy Silva commented on HTTPCLIENT-1023:
---------------------------------------
Oleg,
I am not 100% sure this is a bug. Is there any chance of getting an answer to the question in that case please.
Thanks
Kind Regards
Roy Silva - MSc, BSc
Senior Analyst Programmer
Information Technology Unit
Finance and Corporate Services
Brent Council
Telephone: 020 8937 6021
Fax: 020 8937 6038
Address: Information Technology Unit, London Borough of Brent, Brent House, 349-357 High Road, Wembley, HA9 6BZ
www.brent.gov.uk
> 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: dev-unsubscribe@hc.apache.org
For additional commands, e-mail: dev-help@hc.apache.org