# cpl_http.h File Reference

Interface for downloading HTTP, FTP documents. More...

`#include "cpl_conv.h"`
`#include "cpl_string.h"`
`#include "cpl_vsi.h"`

Go to the source code of this file.

## Classes
struct | CPLMimePart
struct | CPLHTTPResult
## Functions
int | CPLHTTPEnabled (void)
| Return if CPLHTTP services can be usefull.
CPLHTTPResult * | CPLHTTPFetch (const char *pszURL, char **papszOptions)
| Fetch a document from an url and return in a string.
void | CPLHTTPCleanup (void)
| Cleanup function to call at application termination.
void | CPLHTTPDestroyResult (CPLHTTPResult *psResult)
| Clean the memory associated with the return value of CPLHTTPFetch().
int | CPLHTTPParseMultipartMime (CPLHTTPResult *psResult)
| Parses a a MIME multipart message.

## Detailed Description

Interface for downloading HTTP, FTP documents.

## Function Documentation

void CPLHTTPDestroyResult | ( | CPLHTTPResult * | psResult | ) |

Clean the memory associated with the return value of CPLHTTPFetch().

Parameters:

  | psResult | pointer to the return value of CPLHTTPFetch()

References CPLHTTPResult::pabyData, CPLHTTPResult::pszContentType, and CPLHTTPResult::pszErrBuf.

int CPLHTTPEnabled | ( | void |  | ) |

Return if CPLHTTP services can be usefull.

Those services depend on GDAL being build with libcurl support.

Returns:
  TRUE if libcurl support is enabled

CPLHTTPResult* CPLHTTPFetch | ( | const char * | pszURL,
|  | char ** | papszOptions |
| ) |  |  |

Fetch a document from an url and return in a string.

Parameters:

  | pszURL | valid URL recognized by underlying download library (libcurl)
  | papszOptions | option list as a NULL-terminated array of strings. May be NULL. The following options are handled : TIMEOUT=val, where val is in seconds HEADERS=val, where val is an extra header to use when getting a web page. For example "Accept: application/x-ogcwkt" HTTPAUTH=[BASIC/NTLM/ANY] to specify an authentication scheme to use. USERPWD=userid:password to specify a user and password for authentication

Returns:
  a CPLHTTPResult* structure that must be freed by CPLHTTPDestroyResult(), or NULL if libcurl support is diabled

References CPLHTTPResult::nStatus, CPLHTTPResult::pszContentType, and CPLHTTPResult::pszErrBuf.

int CPLHTTPParseMultipartMime | ( | CPLHTTPResult * | psResult | ) |

Parses a a MIME multipart message.

This function will iterate over each part and put it in a separate element of the pasMimePart array of the provided psResult structure.

Parameters:

  | psResult | pointer to the return value of CPLHTTPFetch()

Returns:
  TRUE if the message contains MIME multipart message.

References CPLMimePart::nDataLen, CPLHTTPResult::nDataLen, CPLHTTPResult::nMimePartCount, CPLMimePart::pabyData, CPLHTTPResult::pabyData, CPLMimePart::papszHeaders, CPLHTTPResult::pasMimePart, and CPLHTTPResult::pszContentType.

Generated for GDAL by 1.5.7.1.