- From: Adam Mlodzinski <Adam.Mlodzinski@quest.com>
- Date: Tue, 9 May 2006 12:36:54 -0400
- To: <www-lib@w3.org>
The cheesy way to do this with virtually no effort would be to enable
the "p" trace flag and rebuilding in debug mode. In other words, given:
> #if 0
> HTSetTraceMessageMask("sop");
> #endif
change the zero to a one.
I say cheesy because the file produced is hardcoded to "w3chttp.out" (in
HTTP.c, around lines 1190-1230 or so), and it's contents are replaced
with every request. If you need or want more control over the output
file, or you don't want a debug build, have a look at the HTFWrite class
- it looks like it gives you more control over storing request output.
--
Adam Mlodzinski
----Original Message----
From: www-lib-request@w3.org [mailto:www-lib-request@w3.org]
On Behalf Of neelu_dhiman@persistent.co.in
Sent: Tuesday, May 09, 2006 4:35 AM
To: www-lib@w3.org
Subject: Store the result of GET in a file
> Hi friends,
> I am passing an http GET request using libwww. The output of
> the request is an XML file that I want to dump to some text
> file. Here is the code:
>
> //Store Groups in a Text file //
> #include <w3c-libwww/WWWLib.h>
> #include <w3c-libwww/WWWHTTP.h>
> #include <w3c-libwww/WWWInit.h>
>
> PRIVATE int printer (const char * fmt, va_list pArgs) {
> return (vfprintf(stdout, fmt, pArgs)); }
>
> PRIVATE int tracer (const char * fmt, va_list pArgs) {
> return (vfprintf(stderr, fmt, pArgs)); } PRIVATE int
> terminate_handler (HTRequest * request, HTResponse
> * response, void * param, int status)
> {
> /* Check for status */
> HTPrint("Load resulted in status %d\n", status);
> /* we're not handling other requests */
> HTEventList_stopLoop ();
> /* stop here */
> return HT_ERROR;
> }
>
> int main (int argc, char ** argv)
> {
> HTRequest * request = HTRequest_new();
> char * url =
> "http://mail.persistent.co.in/cgi-bin/addrbook.cgi/xab/v1/get_
groups.xml?sessionid=1c2200f500f5e60bf2d9f77b0f8c684e4&group=*";
> char *filename="Groups";
> HTProfile_newPreemptiveClient("TestApp", "1.1");
> HTPrint_setCallback(printer);
> HTTrace_setCallback(tracer);
> #if 0
> HTSetTraceMessageMask("sop");
> #endif
> HTRequest_setOutputFormat(request, WWW_RAW);
> HTRequest_addConnection(request, "close", "");
> HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL,
> HT_FILTER_LAST);
> if ( HTLoadToFile (url, request,filename)==YES)
> printf("Loaded in file");
> else
> printf("Could not load");
> HT_FREE(cwd);
> HTRequest_delete(request);
> HTProfile_delete();
> return 0;
> }
>
>
> I am getting a zero length file. Please guide.
Received on Wednesday, 10 May 2006 18:28:20 UTC