| <HTML |
| ><HEAD |
| ><TITLE |
| >nanohttp</TITLE |
| ><META |
| NAME="GENERATOR" |
| CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+ |
| "><LINK |
| REL="HOME" |
| TITLE="Gnome XML Library Reference Manual" |
| HREF="book1.html"><LINK |
| REL="UP" |
| TITLE="Libxml Library Reference" |
| HREF="libxml-lib.html"><LINK |
| REL="PREVIOUS" |
| TITLE="xinclude" |
| HREF="libxml-xinclude.html"><LINK |
| REL="NEXT" |
| TITLE="nanoftp" |
| HREF="libxml-nanoftp.html"></HEAD |
| ><BODY |
| CLASS="REFENTRY" |
| BGCOLOR="#FFFFFF" |
| TEXT="#000000" |
| LINK="#0000FF" |
| VLINK="#840084" |
| ALINK="#0000FF" |
| ><DIV |
| CLASS="NAVHEADER" |
| ><TABLE |
| WIDTH="100%" |
| BORDER="0" |
| BGCOLOR="#000000" |
| CELLPADDING="1" |
| CELLSPACING="0" |
| ><TR |
| ><TH |
| COLSPAN="4" |
| ALIGN="center" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="5" |
| >Gnome XML Library Reference Manual</FONT |
| ></TH |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#C00000" |
| ALIGN="left" |
| ><A |
| HREF="libxml-xinclude.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><<< Previous Page</B |
| ></FONT |
| ></A |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#0000C0" |
| ALIGN="center" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><A |
| HREF="book1.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Home</B |
| ></FONT |
| ></A |
| ></B |
| ></FONT |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#00C000" |
| ALIGN="center" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><A |
| HREF="libxml-lib.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Up</B |
| ></FONT |
| ></A |
| ></B |
| ></FONT |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#C00000" |
| ALIGN="right" |
| ><A |
| HREF="libxml-nanoftp.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Next Page >>></B |
| ></FONT |
| ></A |
| ></TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ><H1 |
| ><A |
| NAME="LIBXML-NANOHTTP">nanohttp</H1 |
| ><DIV |
| CLASS="REFNAMEDIV" |
| ><A |
| NAME="AEN17682" |
| ></A |
| ><H2 |
| >Name</H2 |
| >nanohttp -- </DIV |
| ><DIV |
| CLASS="REFSYNOPSISDIV" |
| ><A |
| NAME="AEN17685"><H2 |
| >Synopsis</H2 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="SYNOPSIS" |
| > |
| |
| void <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPINIT" |
| >xmlNanoHTTPInit</A |
| > (void); |
| void <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPCLEANUP" |
| >xmlNanoHTTPCleanup</A |
| > (void); |
| void <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPSCANPROXY" |
| >xmlNanoHTTPScanProxy</A |
| > (const char *URL); |
| int <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPFETCH" |
| >xmlNanoHTTPFetch</A |
| > (const char *URL, |
| const char *filename, |
| char **contentType); |
| void* <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPMETHOD" |
| >xmlNanoHTTPMethod</A |
| > (const char *URL, |
| const char *method, |
| const char *input, |
| char **contentType, |
| const char *headers, |
| int ilen); |
| void* <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPMETHODREDIR" |
| >xmlNanoHTTPMethodRedir</A |
| > (const char *URL, |
| const char *method, |
| const char *input, |
| char **contentType, |
| char **redir, |
| const char *headers, |
| int ilen); |
| void* <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPOPEN" |
| >xmlNanoHTTPOpen</A |
| > (const char *URL, |
| char **contentType); |
| void* <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPOPENREDIR" |
| >xmlNanoHTTPOpenRedir</A |
| > (const char *URL, |
| char **contentType, |
| char **redir); |
| int <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPRETURNCODE" |
| >xmlNanoHTTPReturnCode</A |
| > (void *ctx); |
| const char* <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPAUTHHEADER" |
| >xmlNanoHTTPAuthHeader</A |
| > (void *ctx); |
| int <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPREAD" |
| >xmlNanoHTTPRead</A |
| > (void *ctx, |
| void *dest, |
| int len); |
| int <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPSAVE" |
| >xmlNanoHTTPSave</A |
| > (void *ctxt, |
| const char *filename); |
| void <A |
| HREF="libxml-nanohttp.html#XMLNANOHTTPCLOSE" |
| >xmlNanoHTTPClose</A |
| > (void *ctx);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN17701" |
| ></A |
| ><H2 |
| >Description</H2 |
| ><P |
| ></P |
| ></DIV |
| ><DIV |
| CLASS="REFSECT1" |
| ><A |
| NAME="AEN17704" |
| ></A |
| ><H2 |
| >Details</H2 |
| ><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17706" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPINIT" |
| ></A |
| >xmlNanoHTTPInit ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void xmlNanoHTTPInit (void);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >Initialize the HTTP protocol layer. |
| Currently it just checks for proxy informations</P |
| ><P |
| ></P |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17712" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPCLEANUP" |
| ></A |
| >xmlNanoHTTPCleanup ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void xmlNanoHTTPCleanup (void);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >Cleanup the HTTP protocol layer.</P |
| ><P |
| ></P |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17718" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPSCANPROXY" |
| ></A |
| >xmlNanoHTTPScanProxy ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void xmlNanoHTTPScanProxy (const char *URL);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >(Re)Initialize the HTTP Proxy context by parsing the URL and finding |
| the protocol host port it indicates. |
| Should be like http://myproxy/ or http://myproxy:3128/ |
| A NULL URL cleans up proxy informations.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17724"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The proxy URL used to initialize the proxy context</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17733" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPFETCH" |
| ></A |
| >xmlNanoHTTPFetch ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >int xmlNanoHTTPFetch (const char *URL, |
| const char *filename, |
| char **contentType);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function try to fetch the indicated resource via HTTP GET |
| and save it's content in the file.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17739"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The URL to load</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >filename</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the filename where the content should be saved</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >contentType</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > if available the Content-Type information will be |
| returned at that location</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >Returns</I |
| ></SPAN |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >-1 in case of failure, 0 incase of success. The contentType, |
| if provided must be freed by the caller</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17760" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPMETHOD" |
| ></A |
| >xmlNanoHTTPMethod ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void* xmlNanoHTTPMethod (const char *URL, |
| const char *method, |
| const char *input, |
| char **contentType, |
| const char *headers, |
| int ilen);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function try to open a connection to the indicated resource |
| via HTTP using the given <TT |
| CLASS="PARAMETER" |
| ><I |
| >method</I |
| ></TT |
| >, adding the given extra headers |
| and the input buffer for the request content.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17767"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The URL to load</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >method</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP method to use</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >input</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the input string if any</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >contentType</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the Content-Type information IN and OUT</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >headers</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the extra headers</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ilen</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > input length</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17796" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPMETHODREDIR" |
| ></A |
| >xmlNanoHTTPMethodRedir ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void* xmlNanoHTTPMethodRedir (const char *URL, |
| const char *method, |
| const char *input, |
| char **contentType, |
| char **redir, |
| const char *headers, |
| int ilen);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function try to open a connection to the indicated resource |
| via HTTP using the given <TT |
| CLASS="PARAMETER" |
| ><I |
| >method</I |
| ></TT |
| >, adding the given extra headers |
| and the input buffer for the request content.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17803"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The URL to load</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >method</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP method to use</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >input</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the input string if any</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >contentType</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the Content-Type information IN and OUT</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >redir</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the redirected URL OUT</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >headers</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the extra headers</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ilen</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > input length</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17836" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPOPEN" |
| ></A |
| >xmlNanoHTTPOpen ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void* xmlNanoHTTPOpen (const char *URL, |
| char **contentType);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function try to open a connection to the indicated resource |
| via HTTP GET.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17842"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The URL to load</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >contentType</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > if available the Content-Type information will be |
| returned at that location</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17855" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPOPENREDIR" |
| ></A |
| >xmlNanoHTTPOpenRedir ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void* xmlNanoHTTPOpenRedir (const char *URL, |
| char **contentType, |
| char **redir);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function try to open a connection to the indicated resource |
| via HTTP GET.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17861"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >URL</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > The URL to load</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >contentType</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > if available the Content-Type information will be |
| returned at that location</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >redir</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > if available the redirected URL will be returned</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17878" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPRETURNCODE" |
| ></A |
| >xmlNanoHTTPReturnCode ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >int xmlNanoHTTPReturnCode (void *ctx);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >Get the latest HTTP return code received</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17884"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ctx</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP context</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >Returns</I |
| ></SPAN |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >the HTTP return code for the request.</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17897" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPAUTHHEADER" |
| ></A |
| >xmlNanoHTTPAuthHeader ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >const char* xmlNanoHTTPAuthHeader (void *ctx);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >Get the authentication header of an HTTP context</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17903"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ctx</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP context</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >Returns</I |
| ></SPAN |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >the stashed value of the WWW-Authenticate or Proxy-Authenticate |
| header.</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17916" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPREAD" |
| ></A |
| >xmlNanoHTTPRead ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >int xmlNanoHTTPRead (void *ctx, |
| void *dest, |
| int len);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function tries to read <TT |
| CLASS="PARAMETER" |
| ><I |
| >len</I |
| ></TT |
| > bytes from the existing HTTP connection |
| and saves them in <TT |
| CLASS="PARAMETER" |
| ><I |
| >dest</I |
| ></TT |
| >. This is a blocking call.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17924"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ctx</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP context</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >dest</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > a buffer</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >len</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the buffer length</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >Returns</I |
| ></SPAN |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >the number of byte read. 0 is an indication of an end of connection. |
| -1 indicates a parameter error.</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17945" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPSAVE" |
| ></A |
| >xmlNanoHTTPSave ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >int xmlNanoHTTPSave (void *ctxt, |
| const char *filename);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function saves the output of the HTTP transaction to a file |
| It closes and free the context at the end</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17951"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ctxt</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP context</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >filename</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the filename where the content should be saved</TD |
| ></TR |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><SPAN |
| CLASS="emphasis" |
| ><I |
| CLASS="EMPHASIS" |
| >Returns</I |
| ></SPAN |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| >-1 in case of failure, 0 incase of success.</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ><HR><DIV |
| CLASS="REFSECT2" |
| ><A |
| NAME="AEN17968" |
| ></A |
| ><H3 |
| ><A |
| NAME="XMLNANOHTTPCLOSE" |
| ></A |
| >xmlNanoHTTPClose ()</H3 |
| ><TABLE |
| BORDER="0" |
| BGCOLOR="#D6E8FF" |
| WIDTH="100%" |
| CELLPADDING="6" |
| ><TR |
| ><TD |
| ><PRE |
| CLASS="PROGRAMLISTING" |
| >void xmlNanoHTTPClose (void *ctx);</PRE |
| ></TD |
| ></TR |
| ></TABLE |
| ><P |
| >This function closes an HTTP context, it ends up the connection and |
| free all data related to it.</P |
| ><P |
| ></P |
| ><DIV |
| CLASS="INFORMALTABLE" |
| ><A |
| NAME="AEN17974"><P |
| ></P |
| ><TABLE |
| BORDER="0" |
| WIDTH="100%" |
| BGCOLOR="#FFD0D0" |
| CELLSPACING="0" |
| CELLPADDING="4" |
| CLASS="CALSTABLE" |
| ><TBODY |
| ><TR |
| ><TD |
| WIDTH="20%" |
| ALIGN="RIGHT" |
| VALIGN="TOP" |
| ><TT |
| CLASS="PARAMETER" |
| ><I |
| >ctx</I |
| ></TT |
| > :</TD |
| ><TD |
| WIDTH="80%" |
| ALIGN="LEFT" |
| VALIGN="TOP" |
| > the HTTP context</TD |
| ></TR |
| ></TBODY |
| ></TABLE |
| ><P |
| ></P |
| ></DIV |
| ></DIV |
| ></DIV |
| ><DIV |
| CLASS="NAVFOOTER" |
| ><BR |
| CLEAR="all"><BR><TABLE |
| WIDTH="100%" |
| BORDER="0" |
| BGCOLOR="#000000" |
| CELLPADDING="1" |
| CELLSPACING="0" |
| ><TR |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#C00000" |
| ALIGN="left" |
| ><A |
| HREF="libxml-xinclude.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><<< Previous Page</B |
| ></FONT |
| ></A |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#0000C0" |
| ALIGN="center" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><A |
| HREF="book1.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Home</B |
| ></FONT |
| ></A |
| ></B |
| ></FONT |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#00C000" |
| ALIGN="center" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| ><A |
| HREF="libxml-lib.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Up</B |
| ></FONT |
| ></A |
| ></B |
| ></FONT |
| ></TD |
| ><TD |
| WIDTH="25%" |
| BGCOLOR="#C00000" |
| ALIGN="right" |
| ><A |
| HREF="libxml-nanoftp.html" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >Next Page >>></B |
| ></FONT |
| ></A |
| ></TD |
| ></TR |
| ><TR |
| ><TD |
| COLSPAN="2" |
| ALIGN="left" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >xinclude</B |
| ></FONT |
| ></TD |
| ><TD |
| COLSPAN="2" |
| ALIGN="right" |
| ><FONT |
| COLOR="#FFFFFF" |
| SIZE="3" |
| ><B |
| >nanoftp</B |
| ></FONT |
| ></TD |
| ></TR |
| ></TABLE |
| ></DIV |
| ></BODY |
| ></HTML |
| > |