Hello,

you can create the underlying Client and issue your requests :

Client client = new Client(Protocol.HTTP);
Request request = new Request(Method.GET, "http://example.com/";);
Response response = client.handle(request);
// you can read the response's entity
if(response.getStatus().isSuccess()){
  response.getEntity().write(System.out);
}
//then update the request's URI :
request.setResourceRef("http://example.com/1";);
//and handle it.
//etc.

Best regards,
Thierry Boileau

I have similar issue.
>
> AFAIK since the url of the page to be downloaded changes in each iteration,
> you could release cr after its job is done, but still the HttpClient would
> be restarted everytime and which is time-consuming.
>
> Can somebody throw some light in this case.
>
>
>
> On Tue, May 17, 2011 at 9:39 PM, KD <kevind0...@gmail.com> wrote:
>
>> Hello All:
>>
>> I am hoping that somebody with more experience will that a look at this
>> issue.
>>
>> I have been tasked with retrieving data from a source using REST.
>> When I do the initial request I get back the first "page" of data and the
>> root
>> element of this XML tells me how many pages there are in total I.e.
>> <documents current-page="1" total-page-count="98"
>> total-record-count="9729">
>>
>> This allows me to set up a loop to fetch the remaining pages with code
>> that
>> looks
>> something that looks like this:
>>
>>   //Do the initial request
>>   cr = new ClientResource( strReq );
>>    ChallengeScheme scheme = ChallengeScheme.HTTP_BASIC;
>>    ChallengeResponse authentication = new ChallengeResponse(scheme,
>> strUser,
>> strPWord );
>>    cr.setChallengeResponse(authentication);
>>
>>   // Get the response
>>   represent = cr.get(MediaType.TEXT_XML);
>>    qqXML = represent.getText();
>>    Status status = cr.getStatus();
>>   if (status != null) {
>>        System.out.println(status.toString());
>>   }
>>
>>    // Now a bit of code to create a DOM and interrogate the root element
>>   // This will give us the page count (total_page_count )
>>
>>   for(int p=2; p<= total_page_count; p++){
>>
>>      System.out.println( strReq +"?page=" + new  Integer(p).toString() );
>>      cr = new ClientResource( strReq +"?page=" + new
>>  Integer(p).toString()
>> );
>>      cr.setChallengeResponse(authentication);
>>      // Get the response
>>      represent = cr.get(MediaType.TEXT_XML);
>>       qqXML = represent.getText();
>>      if (qqXML != null) {
>>            System.out.println("XML has been returned");
>>      }
>>
>>     // Get the Status
>>      status = cr.getStatus();
>>     if (status != null) {
>>         System.out.println(status.toString());
>>     }
>>
>>      System.out.println("** ** ** ** ** ** ** ** ** \n");
>>
>>
>>
>>  }   //for  total page count
>>
>>
>> So I have code that will get the job done, maybe not pretty, but it works.
>> The process takes over eight minutes.  Seems like a long time to me.
>> And raises a couple of questions.
>>
>> On the console I see messages (see below) regarding
>> org.restlet.engine.http.connector.HttpClientHelper
>> starting and stopping. Is there a way reuse the underlying HttpClient or
>> does a new one have to be
>> created for each ClientResource?
>>
>> Should I release the Represent  and  ClientResource after each request?
>> Or in short am I doing this right?
>>
>> Thanks in advance for your assistance.
>>
>> KD
>>
>>
>>
>> https://qqq-test.databridge.com/api/v1/documents.xml?page=5
>> May 17, 2011 11:57:16 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> start
>> INFO: Starting the default HTTP client
>> XML has been returned
>> OK (200) - OK
>> ** ** ** ** ** ** ** ** **
>>
>> https://qqq-test.databridge.com/api/v1/documents.xml?page=6
>> May 17, 2011 11:57:21 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> start
>> INFO: Starting the default HTTP client
>> XML has been returned
>> OK (200) - OK
>> ** ** ** ** ** ** ** ** **
>>
>> https://qqq-test.databridge.com/api/v1/documents.xml?page=7
>> May 17, 2011 11:57:26 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> start
>> INFO: Starting the default HTTP client
>> May 17, 2011 11:57:26 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> stop
>> INFO: Stopping the default HTTP client
>> May 17, 2011 11:57:26 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> stop
>> INFO: Stopping the default HTTP client
>> May 17, 2011 11:57:26 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> stop
>> INFO: Stopping the default HTTP client
>> May 17, 2011 11:57:26 AM
>> org.restlet.engine.http.connector.HttpClientHelper
>> stop
>> INFO: Stopping the default HTTP client
>> XML has been returned
>> OK (200) - OK
>> ** ** ** ** ** ** ** ** **
>>
>>
>> --
>> View this message in context:
>> http://restlet-discuss.1400322.n2.nabble.com/Restlet-2-0-multiple-get-requests-tp6369368p6373701.html
>> Sent from the Restlet Discuss mailing list archive at Nabble.com.
>>
>> ------------------------------------------------------
>>
>> http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2739361
>>
>
>

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2754449

Reply via email to