Hi Duncan

Your method works well for my situation when I make only one call to the database/URL with the login info. Our database is configured like the first situation (cookies) that you described below. Now, I will need to make multiple successive calls to get data for different sites in the database (one call per site). It doesn't seem to work at times when I do this. Is there something that needs to be done to re-initialize (Do I need to log out before making the second call)?

Thanks
Steve

===============================================
Steven R. Corsi        Phone: (608) 821-3835
Research Hydrologist   email: srco...@usgs.gov
U.S. Geological Survey
Wisconsin Water Science Center
8505 Research Way
Middleton, WI 53562
===============================================


On 6/25/2011 6:16 PM, Duncan Temple Lang wrote:
Hi Steve

  RCurl can help you when you need to have more control over Web requests.
The details vary from Web site to Web site and the different ways to specify
passwords, etc.

If the JSESSIONID and NCES_JSESSIONID are regular cookies and returned in the 
first
request as cookies, then you can just have RCurl handle the cookies
But the basics for your case are

   library(RCurl)
   h = getCurlHandle( cookiefile = "")

Then make your Web request using getURLContent(), getForm() or postForm()
but making certain to pass the curl handle  stored in h in each call, e.g.

   ans = getForm(yourURL, login = "bob", password = "jane", curl = h)

   txt = getURLContent(dataURL, curl = h)


If JSESSIONID and NCES_JSESSIONID are not returned as cookies but HTTP header 
fields, then you
need to process the header.
Something like

   rdr = dynCurlReader(h)

   ans = getForm(yourURL, login = "bob", password = "jane", curl = h, header = 
rdr$update)

Then the header  from the HTTP response is available as
   rdr$header()

and you can use parseHTTPHeader(rdr$header()) to convert it into a named vector.


  HTH,
     D.

On 6/24/11 2:12 PM, Steven R Corsi wrote:
I am trying to retrieve data from a password protected database. I have login 
information and the proper url. When I
make a request to the url, I get back some info, but need to read the "hidden 
header" information that has JSESSIONID
and NCES_JSESSIONID. They need to be used to set cookies before sending off the 
actual url request that will result in
the data transfer. Any help would be much appreciated.
Thanks
Steve

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to