ZenLib
Classes | Macros | Typedefs | Functions
HTTPClient.h File Reference
#include "HTTPClientWrapper.h"
#include "HTTPClientCommon.h"

Go to the source code of this file.

Classes

struct  _HTTP_PARAM
 
struct  _HTTP_CONNECTION
 
struct  _HTTP_URL
 
struct  _HTTP_HEADERS
 
struct  _HTTP_HEADERS_INFO
 
struct  _HTTP_AUTH_HEADER
 
struct  _HTTP_PROXY
 
struct  _HTTP_CREDENTIALS
 
struct  _HTTP_COUNTERS
 
struct  _HTTP_REQUEST
 

Macros

#define HTTP_CLIENT_VERSION_MINOR   0
 
#define HTTP_CLIENT_VERSION_MAJOR   1
 
#define HTTP_CLIENT_MAX_SEND_RECV_HEADERS   1024
 
#define HTTP_CLIENT_INIT_SEND_RECV_HEADERS   2048
 
#define HTTP_CLIENT_MAX_USERNAME_LENGTH   16
 
#define HTTP_CLIENT_MAX_PASSWORD_LENGTH   16
 
#define HTTP_CLIENT_MAX_64_ENCODED_CRED   ((HTTP_CLIENT_MAX_USERNAME_LENGTH + HTTP_CLIENT_MAX_PASSWORD_LENGTH) * 2) + 4
 
#define HTTP_CLIENT_MAX_CHUNK_HEADER   64
 
#define HTTP_CLIENT_MAX_PROXY_HOST_LENGTH   64
 
#define HTTP_CLIENT_MAX_TOKEN_LENGTH   512
 
#define HTTP_CLIENT_MAX_TOKEN_NAME_LENGTH   32
 
#define HTTP_CLIENT_MAX_HEADER_SEARCH_CLUE   1024
 
#define HTTP_CLIENT_ALLOW_HEAD_VERB   0
 
#define HTTP_CLIENT_MEMORY_RESIZABLE   FALSE
 
#define HTTP_CLIENT_MEMORY_RESIZE_FACTOR   16
 
#define HTTP_CLIENT_DEFAULT_PORT   80
 
#define HTTP_CLIENT_DEFAULT_SSL_PORT   443
 
#define HTTP_CLIENT_DEFAULT_VERB   0
 
#define HTTP_CLIENT_DEFAULT_VER   "HTTP/1.1"
 
#define HTTP_CLIENT_DEFAULT_PROXY_VER   "HTTP/1.0"
 
#define HTTP_CLIENT_DEFAULT_AGENT   "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
 
#define HTTP_CLIENT_DEFAULT_TIMEOUT   30
 
#define HTTP_CLIENT_DEFAULT_KEEP_ALIVE   30
 
#define HTTP_CLIENT_DEFAULT_DIGEST_AUTH   "MD5"
 
#define HTTP_CLIENT_DEFAULT_PROXY_AUTH   1
 
#define HTTP_CLIENT_CRLF   "\r\n"
 
#define HTTP_CLIENT_CRLFX2   "\r\n\r\n"
 
#define HTTP_CLIENT_FLAG_SECURE   0x00000010
 
#define HTTP_CLIENT_FLAG_URLANDPORT   0x00000020
 
#define HTTP_CLIENT_FLAG_URLHTTPS   0x00000040
 
#define HTTP_CLIENT_FLAG_USINGPROXY   0x00000080
 
#define HTTP_CLIENT_FLAG_CHUNKED   0x00000100
 
#define HTTP_STATUS_OK   200
 
#define HTTP_STATUS_UNAUTHORIZED   401
 
#define HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED   407
 
#define HTTP_STATUS_OBJECT_MOVED   302
 
#define HTTP_STATUS_OBJECT_MOVED_PERMANENTLY   301
 
#define HTTP_STATUS_CONTINUE   100
 
#define MIN(a, b)   (((a) < (b)) ? (a) : (b))
 
#define MAX(a, b)   (((a) > (b)) ? (a) : (b))
 
#define HTTP_TIMEOUT(nTimeout)   (((nTimeout) > (0)) ? (nTimeout) : (HTTP_CLIENT_DEFAULT_TIMEOUT))
 
#define ALIGN(size)   ((size & 0xfffffffc) + ((size & 3) ? 4 : 0))
 

Typedefs

typedef struct _HTTP_PARAM HTTP_PARAM
 
typedef struct _HTTP_CONNECTION HTTP_CONNECTION
 
typedef struct _HTTP_URL HTTP_URL
 
typedef struct _HTTP_HEADERS HTTP_HEADERS
 
typedef struct _HTTP_HEADERS_INFO HTTP_HEADERS_INFO
 
typedef struct _HTTP_AUTH_HEADER HTTP_AUTH_HEADER
 
typedef struct _HTTP_PROXY HTTP_PROXY
 
typedef struct _HTTP_CREDENTIALS HTTP_CREDENTIALS
 
typedef struct _HTTP_COUNTERS HTTP_COUNTERS
 
typedef struct _HTTP_REQUEST HTTP_SESSION
 
typedef struct _HTTP_REQUESTP_HTTP_SESSION
 
typedef UINT32 HTTP_SESSION_HANDLE
 
typedef UINT32 HTTP_CLIENT_SESSION_FLAGS
 

Functions

HTTP_SESSION_HANDLE HTTPClientOpenRequest (HTTP_CLIENT_SESSION_FLAGS Flags)
 
UINT32 HTTPClientCloseRequest (HTTP_SESSION_HANDLE *pSession)
 
UINT32 HTTPClientSetLocalConnection (HTTP_SESSION_HANDLE pSession, UINT32 nPort)
 
UINT32 HTTPClientSetAuth (HTTP_SESSION_HANDLE pSession, HTTP_AUTH_SCHEMA AuthSchema, void *pReserved)
 
UINT32 HTTPClientSetCredentials (HTTP_SESSION_HANDLE pSession, CHAR *pUserName, CHAR *pPassword)
 
UINT32 HTTPClientSetProxy (HTTP_SESSION_HANDLE pSession, CHAR *pProxyName, UINT16 nPort, CHAR *pUserName, CHAR *pPassword)
 
UINT32 HTTPClientSetVerb (HTTP_SESSION_HANDLE pSession, HTTP_VERB HttpVerb)
 
UINT32 HTTPClientAddRequestHeaders (HTTP_SESSION_HANDLE pSession, CHAR *pHeaderName, CHAR *pHeaderData, BOOL nInsert)
 
UINT32 HTTPClientSendRequest (HTTP_SESSION_HANDLE pSession, CHAR *pUrl, VOID *pData, UINT32 nDataLength, BOOL TotalLength, UINT32 nTimeout, UINT32 nClientPort)
 
UINT32 HTTPClientWriteData (HTTP_SESSION_HANDLE pSession, VOID *pBuffer, UINT32 nBufferLength, UINT32 nTimeout)
 
UINT32 HTTPClientRecvResponse (HTTP_SESSION_HANDLE pSession, UINT32 nTimeout)
 
UINT32 HTTPClientReadData (HTTP_SESSION_HANDLE pSession, VOID *pBuffer, UINT32 nBytesToRead, UINT32 nTimeout, UINT32 *nBytesRecived)
 
UINT32 HTTPClientGetInfo (HTTP_SESSION_HANDLE pSession, HTTP_CLIENT *HTTPClient)
 
UINT32 HTTPClientFindFirstHeader (HTTP_SESSION_HANDLE pSession, CHAR *pSearchClue, CHAR *pHeaderBuffer, UINT32 *nLength)
 
UINT32 HTTPClientGetNextHeader (HTTP_SESSION_HANDLE pSession, CHAR *pHeaderBuffer, UINT32 *nLength)
 
UINT32 HTTPClientFindCloseHeader (HTTP_SESSION_HANDLE pSession)
 
UINT32 HTTPIntrnResizeBuffer (P_HTTP_SESSION pHTTPSession, UINT32 nNewSize)
 
UINT32 HTTPIntrnSetURL (P_HTTP_SESSION pHTTPSession, CHAR *pUrl, UINT32 nUrlLength)
 
UINT32 HTTPIntrnConnectionClose (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnConnectionOpen (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnGetRemoteHeaders (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnGetRemoteChunkLength (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnSend (P_HTTP_SESSION pHTTPSession, CHAR *pData, UINT32 *nLength)
 
UINT32 HTTPIntrnRecv (P_HTTP_SESSION pHTTPSession, CHAR *pData, UINT32 *nLength, BOOL PeekOnly)
 
UINT32 HTTPIntrnParseAuthHeader (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnAuthHandler (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnAuthSendDigest (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnAuthSendBasic (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnAuthenticate (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnHeadersAdd (P_HTTP_SESSION pHTTPSession, CHAR *pHeaderName, UINT32 nNameLength, CHAR *pHeaderData, UINT32 nDataLength)
 
UINT32 HTTPIntrnHeadersRemove (P_HTTP_SESSION pHTTPSession, CHAR *pHeaderName)
 
UINT32 HTTPIntrnHeadersReceive (P_HTTP_SESSION pHTTPSession, UINT32 nTimeout)
 
UINT32 HTTPIntrnHeadersSend (P_HTTP_SESSION pHTTPSession, HTTP_VERB HttpVerb)
 
UINT32 HTTPIntrnHeadersParse (P_HTTP_SESSION pHTTPSession)
 
UINT32 HTTPIntrnHeadersFind (P_HTTP_SESSION pHTTPSession, CHAR *pHeaderName, HTTP_PARAM *pParam, BOOL IncommingHeaders, UINT32 nOffset)
 
UINT32 HTTPIntrnSessionReset (P_HTTP_SESSION pHTTPSession, BOOL EntireSession)
 
UINT32 HTTPIntrnSessionGetUpTime (VOID)
 
BOOL HTTPIntrnSessionEvalTimeout (P_HTTP_SESSION pHTTPSession)
 

Macro Definition Documentation

◆ ALIGN

#define ALIGN (   size)    ((size & 0xfffffffc) + ((size & 3) ? 4 : 0))

◆ HTTP_CLIENT_ALLOW_HEAD_VERB

#define HTTP_CLIENT_ALLOW_HEAD_VERB   0

◆ HTTP_CLIENT_CRLF

#define HTTP_CLIENT_CRLF   "\r\n"

◆ HTTP_CLIENT_CRLFX2

#define HTTP_CLIENT_CRLFX2   "\r\n\r\n"

◆ HTTP_CLIENT_DEFAULT_AGENT

#define HTTP_CLIENT_DEFAULT_AGENT   "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"

◆ HTTP_CLIENT_DEFAULT_DIGEST_AUTH

#define HTTP_CLIENT_DEFAULT_DIGEST_AUTH   "MD5"

◆ HTTP_CLIENT_DEFAULT_KEEP_ALIVE

#define HTTP_CLIENT_DEFAULT_KEEP_ALIVE   30

◆ HTTP_CLIENT_DEFAULT_PORT

#define HTTP_CLIENT_DEFAULT_PORT   80

◆ HTTP_CLIENT_DEFAULT_PROXY_AUTH

#define HTTP_CLIENT_DEFAULT_PROXY_AUTH   1

◆ HTTP_CLIENT_DEFAULT_PROXY_VER

#define HTTP_CLIENT_DEFAULT_PROXY_VER   "HTTP/1.0"

◆ HTTP_CLIENT_DEFAULT_SSL_PORT

#define HTTP_CLIENT_DEFAULT_SSL_PORT   443

◆ HTTP_CLIENT_DEFAULT_TIMEOUT

#define HTTP_CLIENT_DEFAULT_TIMEOUT   30

◆ HTTP_CLIENT_DEFAULT_VER

#define HTTP_CLIENT_DEFAULT_VER   "HTTP/1.1"

◆ HTTP_CLIENT_DEFAULT_VERB

#define HTTP_CLIENT_DEFAULT_VERB   0

◆ HTTP_CLIENT_FLAG_CHUNKED

#define HTTP_CLIENT_FLAG_CHUNKED   0x00000100

◆ HTTP_CLIENT_FLAG_SECURE

#define HTTP_CLIENT_FLAG_SECURE   0x00000010

◆ HTTP_CLIENT_FLAG_URLANDPORT

#define HTTP_CLIENT_FLAG_URLANDPORT   0x00000020

◆ HTTP_CLIENT_FLAG_URLHTTPS

#define HTTP_CLIENT_FLAG_URLHTTPS   0x00000040

◆ HTTP_CLIENT_FLAG_USINGPROXY

#define HTTP_CLIENT_FLAG_USINGPROXY   0x00000080

◆ HTTP_CLIENT_INIT_SEND_RECV_HEADERS

#define HTTP_CLIENT_INIT_SEND_RECV_HEADERS   2048

◆ HTTP_CLIENT_MAX_64_ENCODED_CRED

#define HTTP_CLIENT_MAX_64_ENCODED_CRED   ((HTTP_CLIENT_MAX_USERNAME_LENGTH + HTTP_CLIENT_MAX_PASSWORD_LENGTH) * 2) + 4

◆ HTTP_CLIENT_MAX_CHUNK_HEADER

#define HTTP_CLIENT_MAX_CHUNK_HEADER   64

◆ HTTP_CLIENT_MAX_HEADER_SEARCH_CLUE

#define HTTP_CLIENT_MAX_HEADER_SEARCH_CLUE   1024

◆ HTTP_CLIENT_MAX_PASSWORD_LENGTH

#define HTTP_CLIENT_MAX_PASSWORD_LENGTH   16

◆ HTTP_CLIENT_MAX_PROXY_HOST_LENGTH

#define HTTP_CLIENT_MAX_PROXY_HOST_LENGTH   64

◆ HTTP_CLIENT_MAX_SEND_RECV_HEADERS

#define HTTP_CLIENT_MAX_SEND_RECV_HEADERS   1024

◆ HTTP_CLIENT_MAX_TOKEN_LENGTH

#define HTTP_CLIENT_MAX_TOKEN_LENGTH   512

◆ HTTP_CLIENT_MAX_TOKEN_NAME_LENGTH

#define HTTP_CLIENT_MAX_TOKEN_NAME_LENGTH   32

◆ HTTP_CLIENT_MAX_USERNAME_LENGTH

#define HTTP_CLIENT_MAX_USERNAME_LENGTH   16

◆ HTTP_CLIENT_MEMORY_RESIZABLE

#define HTTP_CLIENT_MEMORY_RESIZABLE   FALSE

◆ HTTP_CLIENT_MEMORY_RESIZE_FACTOR

#define HTTP_CLIENT_MEMORY_RESIZE_FACTOR   16

◆ HTTP_CLIENT_VERSION_MAJOR

#define HTTP_CLIENT_VERSION_MAJOR   1

◆ HTTP_CLIENT_VERSION_MINOR

#define HTTP_CLIENT_VERSION_MINOR   0

◆ HTTP_STATUS_CONTINUE

#define HTTP_STATUS_CONTINUE   100

◆ HTTP_STATUS_OBJECT_MOVED

#define HTTP_STATUS_OBJECT_MOVED   302

◆ HTTP_STATUS_OBJECT_MOVED_PERMANENTLY

#define HTTP_STATUS_OBJECT_MOVED_PERMANENTLY   301

◆ HTTP_STATUS_OK

#define HTTP_STATUS_OK   200

◆ HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED

#define HTTP_STATUS_PROXY_AUTHENTICATION_REQUIRED   407

◆ HTTP_STATUS_UNAUTHORIZED

#define HTTP_STATUS_UNAUTHORIZED   401

◆ HTTP_TIMEOUT

#define HTTP_TIMEOUT (   nTimeout)    (((nTimeout) > (0)) ? (nTimeout) : (HTTP_CLIENT_DEFAULT_TIMEOUT))

◆ MAX

#define MAX (   a,
 
)    (((a) > (b)) ? (a) : (b))

◆ MIN

#define MIN (   a,
 
)    (((a) < (b)) ? (a) : (b))

Typedef Documentation

◆ HTTP_AUTH_HEADER

◆ HTTP_CLIENT_SESSION_FLAGS

◆ HTTP_CONNECTION

◆ HTTP_COUNTERS

typedef struct _HTTP_COUNTERS HTTP_COUNTERS

◆ HTTP_CREDENTIALS

◆ HTTP_HEADERS

typedef struct _HTTP_HEADERS HTTP_HEADERS

◆ HTTP_HEADERS_INFO

◆ HTTP_PARAM

typedef struct _HTTP_PARAM HTTP_PARAM

◆ HTTP_PROXY

typedef struct _HTTP_PROXY HTTP_PROXY

◆ HTTP_SESSION

typedef struct _HTTP_REQUEST HTTP_SESSION

◆ HTTP_SESSION_HANDLE

◆ HTTP_URL

typedef struct _HTTP_URL HTTP_URL

◆ P_HTTP_SESSION

typedef struct _HTTP_REQUEST * P_HTTP_SESSION

Function Documentation

◆ HTTPClientAddRequestHeaders()

UINT32 HTTPClientAddRequestHeaders ( HTTP_SESSION_HANDLE  pSession,
CHAR pHeaderName,
CHAR pHeaderData,
BOOL  nInsert 
)

◆ HTTPClientCloseRequest()

UINT32 HTTPClientCloseRequest ( HTTP_SESSION_HANDLE pSession)

◆ HTTPClientFindCloseHeader()

UINT32 HTTPClientFindCloseHeader ( HTTP_SESSION_HANDLE  pSession)

◆ HTTPClientFindFirstHeader()

UINT32 HTTPClientFindFirstHeader ( HTTP_SESSION_HANDLE  pSession,
CHAR pSearchClue,
CHAR pHeaderBuffer,
UINT32 nLength 
)

◆ HTTPClientGetInfo()

UINT32 HTTPClientGetInfo ( HTTP_SESSION_HANDLE  pSession,
HTTP_CLIENT HTTPClient 
)

◆ HTTPClientGetNextHeader()

UINT32 HTTPClientGetNextHeader ( HTTP_SESSION_HANDLE  pSession,
CHAR pHeaderBuffer,
UINT32 nLength 
)

◆ HTTPClientOpenRequest()

HTTP_SESSION_HANDLE HTTPClientOpenRequest ( HTTP_CLIENT_SESSION_FLAGS  Flags)

◆ HTTPClientReadData()

UINT32 HTTPClientReadData ( HTTP_SESSION_HANDLE  pSession,
VOID pBuffer,
UINT32  nBytesToRead,
UINT32  nTimeout,
UINT32 nBytesRecived 
)

◆ HTTPClientRecvResponse()

UINT32 HTTPClientRecvResponse ( HTTP_SESSION_HANDLE  pSession,
UINT32  nTimeout 
)

◆ HTTPClientSendRequest()

UINT32 HTTPClientSendRequest ( HTTP_SESSION_HANDLE  pSession,
CHAR pUrl,
VOID pData,
UINT32  nDataLength,
BOOL  TotalLength,
UINT32  nTimeout,
UINT32  nClientPort 
)

◆ HTTPClientSetAuth()

UINT32 HTTPClientSetAuth ( HTTP_SESSION_HANDLE  pSession,
HTTP_AUTH_SCHEMA  AuthSchema,
void *  pReserved 
)

◆ HTTPClientSetCredentials()

UINT32 HTTPClientSetCredentials ( HTTP_SESSION_HANDLE  pSession,
CHAR pUserName,
CHAR pPassword 
)

◆ HTTPClientSetLocalConnection()

UINT32 HTTPClientSetLocalConnection ( HTTP_SESSION_HANDLE  pSession,
UINT32  nPort 
)

◆ HTTPClientSetProxy()

UINT32 HTTPClientSetProxy ( HTTP_SESSION_HANDLE  pSession,
CHAR pProxyName,
UINT16  nPort,
CHAR pUserName,
CHAR pPassword 
)

◆ HTTPClientSetVerb()

UINT32 HTTPClientSetVerb ( HTTP_SESSION_HANDLE  pSession,
HTTP_VERB  HttpVerb 
)

◆ HTTPClientWriteData()

UINT32 HTTPClientWriteData ( HTTP_SESSION_HANDLE  pSession,
VOID pBuffer,
UINT32  nBufferLength,
UINT32  nTimeout 
)

◆ HTTPIntrnAuthenticate()

UINT32 HTTPIntrnAuthenticate ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnAuthHandler()

UINT32 HTTPIntrnAuthHandler ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnAuthSendBasic()

UINT32 HTTPIntrnAuthSendBasic ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnAuthSendDigest()

UINT32 HTTPIntrnAuthSendDigest ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnConnectionClose()

UINT32 HTTPIntrnConnectionClose ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnConnectionOpen()

UINT32 HTTPIntrnConnectionOpen ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnGetRemoteChunkLength()

UINT32 HTTPIntrnGetRemoteChunkLength ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnGetRemoteHeaders()

UINT32 HTTPIntrnGetRemoteHeaders ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnHeadersAdd()

UINT32 HTTPIntrnHeadersAdd ( P_HTTP_SESSION  pHTTPSession,
CHAR pHeaderName,
UINT32  nNameLength,
CHAR pHeaderData,
UINT32  nDataLength 
)

◆ HTTPIntrnHeadersFind()

UINT32 HTTPIntrnHeadersFind ( P_HTTP_SESSION  pHTTPSession,
CHAR pHeaderName,
HTTP_PARAM pParam,
BOOL  IncommingHeaders,
UINT32  nOffset 
)

◆ HTTPIntrnHeadersParse()

UINT32 HTTPIntrnHeadersParse ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnHeadersReceive()

UINT32 HTTPIntrnHeadersReceive ( P_HTTP_SESSION  pHTTPSession,
UINT32  nTimeout 
)

◆ HTTPIntrnHeadersRemove()

UINT32 HTTPIntrnHeadersRemove ( P_HTTP_SESSION  pHTTPSession,
CHAR pHeaderName 
)

◆ HTTPIntrnHeadersSend()

UINT32 HTTPIntrnHeadersSend ( P_HTTP_SESSION  pHTTPSession,
HTTP_VERB  HttpVerb 
)

◆ HTTPIntrnParseAuthHeader()

UINT32 HTTPIntrnParseAuthHeader ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnRecv()

UINT32 HTTPIntrnRecv ( P_HTTP_SESSION  pHTTPSession,
CHAR pData,
UINT32 nLength,
BOOL  PeekOnly 
)

◆ HTTPIntrnResizeBuffer()

UINT32 HTTPIntrnResizeBuffer ( P_HTTP_SESSION  pHTTPSession,
UINT32  nNewSize 
)

◆ HTTPIntrnSend()

UINT32 HTTPIntrnSend ( P_HTTP_SESSION  pHTTPSession,
CHAR pData,
UINT32 nLength 
)

◆ HTTPIntrnSessionEvalTimeout()

BOOL HTTPIntrnSessionEvalTimeout ( P_HTTP_SESSION  pHTTPSession)

◆ HTTPIntrnSessionGetUpTime()

UINT32 HTTPIntrnSessionGetUpTime ( VOID  )

◆ HTTPIntrnSessionReset()

UINT32 HTTPIntrnSessionReset ( P_HTTP_SESSION  pHTTPSession,
BOOL  EntireSession 
)

◆ HTTPIntrnSetURL()

UINT32 HTTPIntrnSetURL ( P_HTTP_SESSION  pHTTPSession,
CHAR pUrl,
UINT32  nUrlLength 
)