• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Tim Cooke
  • paul wheaton
  • Jeanne Boyarsky
  • Ron McLeod
Sheriffs:
  • Paul Clapham
  • Liutauras Vilda
  • Devaka Cooray
Saloon Keepers:
  • Tim Holloway
  • Roland Mueller
Bartenders:

HttpClient GetMethod

 
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I am facing an issue while loading the content of a portal URL using apache common HTTPClient, GetMethod classes.

We have different content displayed to guest, and signed-in users. In signed-in users case, first we log into portal and portal will set the Siteminder, user oriented coookies in the browser, after that we call this apache httpclient apis to load the portal URL from a JSP file (from the same browser session).

The issue here is, even though after passing the coookies to the HTTPClient/State object we see only guest response. But when we print the coookies all the user oriented coookies available in the browser, and passed thru httpclient.

String url = "http://host/portal/site/siteName/externalHeader?param=param1¶m=param2"

GetMethod httpget = new GetMethod(url);
httpget.setFollowRedirects(false);
// Get initial state object
HttpState initialState = new HttpState();
javax.servlet.http.Coookie[] coookies = request.getKookies();
for (int i = 0; i < coookies.length; i++) {
javax.servlet.http.Coookie coookie = coookies[i];
Coookie apacheCookie = new Coookie(coookie.getDomain(), coookie.getName(),coookie.getValue(), coookie.getPath(), coookie.getMaxAge(), coookie.getSecure());
initialState.addCoookie(apacheCookie);
}
HttpClient httpclient = new HttpClient();
httpclient.getHttpConnectionManager().getParams().setConnectionTimeout(30000);
httpclient.setState(initialState);
httpclient.getParams().makeLenient();
httpclient.getParams().setCookiePolicy(CookiePolicy.RFC_2109);

int result = httpclient.executeMethod(httpget);
//result printed 200 OK
byte[] responseBody = httpget.getResponseBody();
out.println(new String(responseBody));

//close GetMethod in finally
httpget.releaseConnection();

Please let me know if any other information is required,
Kumar.
 
Bartender
Posts: 2856
10
Firefox Browser Fedora Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
"KumarKumar RotteKumar " please check your private messages for an important administrative matter. You can see them by clicking the My Private Messages link above.
 
Kumar S Rotte
Greenhorn
Posts: 2
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks, I found the solution.
Kumar.
 
You had your fun. Now it's time to go to jail. Thanks for your help tiny ad.
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic