- From: Arora Meenakshi <marora@redcreek.com>
- Date: Fri, 5 May 2000 15:08:04 -0700
- To: "LibWWW (E-mail)" <www-lib@w3.org>
- Message-ID: <B74EBB896D29D211A43E00805F650DF20119B833@mail.redcreek.com>
Aim : writing a client in C++ to retreive CA(certificate authority)
certificate from a netscape server using Libwww.
Till now i was able to successfully load the certificate by sending the
foll. request to netscape server using the MFC functions CHTTPConnection &.
CHTTPFile:
request sring:
op=displayIND&withCertChain=no&navigatorFormat=no&submit=Submit
Query:
Now , i want to make use of LibWWW for eactly the same behaviour.
I am passing the above info. using LibWWW function
HTPostFormAnchorToChunk(...) by creating HTAssocList of the individual
fields & i am getting a null data with the foll. command line:
http://certserver/getCAChain op=displayIND withCertChain=no
navigatorFormat=no submit=Submit
but surprisingly i am getting desired data if command line is changed to
http://certserver/getCAChain op=displayIND
& my code is:
//////////////////////////////////////////
int main (int argc, char ** argv)
{
HTRequest * request = NULL;
HTAnchor * anchor = NULL;
HTAssocList * formfields = NULL;
char * uri = NULL;
/* Create a new premptive client */
HTProfile_newNoCacheClient("myApp", "1.0");
/* Need our own trace and print functions */
HTPrint_setCallback(printer);
HTTrace_setCallback(tracer);
/* Get trace messages */
HTSetTraceMessageMask("sop");
/* Add our own filter to update the history list */
HTNet_addAfter(terminate_handler, NULL, NULL, HT_ALL, HT_FILTER_LAST);
/* Set the timeout for long we are going to wait for a response */
HTHost_setEventTimeout(200000);
/* Handle command line args */
if (argc >= 2) {
int arg;
uri = argv[1];
for (arg=2; arg<argc; arg++) {
char * string = argv[arg];
/* Create a list to hold the form arguments */
if (!formfields) formfields = HTAssocList_new();
/* Parse the content and add it to the association list */
HTParseFormInput(formfields, string);
}
}
if (uri && formfields) {
/* Create a request */
request = HTRequest_new();
/* Set the default output to "asis" */
HTRequest_setOutputFormat(request, WWW_SOURCE);
/* Get an anchor object for the URI */
anchor = HTAnchor_findAddress(uri);
/* Post the data and get the result in a chunk */
result = HTPostFormAnchorToChunk(formfields, anchor, request);
/* Clean up the form fields */
HTAssocList_delete(formfields);
/* Go into the event loop... */
HTEventList_loop(request);
} else {
HTPrint("Type the URI to post to and the arguments for the POST
operation. Encode spaces as '+'\n");
HTPrint("\t%s <uri> 'a=1' 'b=+2+' 'c=3 ...'\n", argv[0]);
}
return 0;
}
///////////////////////////////////////
why is taht if i pass only the single field op=displayIND, i get the valid
data....???????
How should i make my request work with the complete string..... i.e what if
i need to pass more than two form inputs......???????
thanx
meenakshi
Received on Friday, 5 May 2000 18:08:24 UTC