Funzioni di utilità HTTP ATL

Queste funzioni supportano la manipolazione degli URL.

Funzione Descrizione
AtlCanonicalizeUrl Canonizza un URL, che include la conversione di caratteri non sicuri e spazi in sequenze di escape.
AtlCombineUrl Combina un URL di base e un URL relativo in un singolo URL canonico.
AtlEscapeUrl Converte tutti i caratteri non sicuri in sequenze di escape.
AtlGetDefaultUrlPort Ottiene il numero di porta predefinito associato a un particolare protocollo o schema Internet.
AtlIsUnsafeUrlChar Determina se un carattere è sicuro per l'uso in un URL.
AtlUnescapeUrl Converte nuovamente i caratteri di escape nei valori originali.
RGBToHtml Converte un valore COLORREF nel testo HTML corrispondente a tale valore di colore.
SystemTimeToHttpDate Chiamare questa funzione per convertire l'ora di sistema in una stringa in un formato appropriato da utilizzare nelle intestazioni HTTP.

Requisiti

Intestazione: atlutil.h

AtlCanonicalizeUrl

Chiamare questa funzione per convertire in formato canonico un URL, inclusa la conversione dei caratteri e degli spazi non sicuri nelle sequenze di escape.

inline BOOL AtlCanonicalizeUrl(
   LPCTSTR szUrl,
   LPTSTR szCanonicalized,
   DWORD* pdwMaxLength,
   DWORD dwFlags = 0) throw();

Parametri

szUrl
URL da canonizzare.

szCanonicalized
Buffer allocato dal chiamante per ricevere l'URL canonico.

pdwMaxLength
Puntatore a una variabile che contiene la lunghezza in caratteri di szCanonicalized. Se la funzione ha esito positivo, la variabile riceve il numero di caratteri scritti nel buffer, incluso il carattere Null di terminazione. Se la funzione ha esito negativo, la variabile riceve la lunghezza richiesta in byte del buffer, incluso lo spazio per il carattere Null di terminazione.

dwFlags
ATL_URL flag che controllano il comportamento di questa funzione.

  • ATL_URL_BROWSER_MODE Non codifica o decodifica i caratteri dopo "#" o "?", e non rimuove gli spazi vuoti finali dopo "?". Se questo valore non viene specificato, l'intero URL viene codificato e lo spazio vuoto finale viene rimosso.

  • ATL_URL_DECODE converte tutte le sequenze %XX in caratteri, incluse le sequenze di escape, prima dell'analisi dell'URL.

  • ATL_URL_ENCODE_PERCENT codifica i segni di percentuale rilevati. Per impostazione predefinita, i segni di percentuale non vengono codificati.

  • ATL_URL_ENCODE_SPACES_ONLY Codifica solo gli spazi.

  • ATL_URL_ESCAPE converte tutte le sequenze di escape (%XX) nei caratteri corrispondenti.

  • ATL_URL_NO_ENCODE Non converte caratteri non sicuri in sequenze di escape.

  • ATL_URL_NO_META Non rimuove le sequenze meta (ad esempio "." e "..") dall'URL.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Si comporta come la versione corrente di InternetCanonicalizeUrl, ma non richiede l'installazione di WinInet o Internet Explorer.

AtlCombineUrl

Chiamare questa funzione per combinare un URL di base e un URL relativo all'interno di un singolo URL canonico.

inline BOOL AtlCombineUrl(
   LPCTSTR szBaseUrl,
   LPCTSTR szRelativeUrl,
   LPTSTR szBuffer,
   DWORD* pdwMaxLength,
   DWORD dwFlags = 0) throw();

Parametri

szBaseUrl
URL di base.

szRelativeUrl
URL relativo all'URL di base.

szBuffer
Buffer allocato dal chiamante per ricevere l'URL canonico.

pdwMaxLength
Puntatore a una variabile che contiene la lunghezza in caratteri di szBuffer. Se la funzione ha esito positivo, la variabile riceve il numero di caratteri scritti nel buffer, incluso il carattere Null di terminazione. Se la funzione ha esito negativo, la variabile riceve la lunghezza richiesta in byte del buffer, incluso lo spazio per il carattere Null di terminazione.

dwFlags
Flag che controllano il comportamento di questa funzione. Vedi AtlCanonicalizeUrl.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Si comporta come la versione corrente di InternetCombineUrl, ma non richiede l'installazione di WinInet o Internet Explorer.

AtlEscapeUrl

Chiamare questa funzione per convertire tutti i caratteri non sicuri in sequenze di escape.

inline BOOL AtlEscapeUrl(
   LPCSTR szStringIn,
   LPSTR szStringOut,
   DWORD* pdwStrLen,
   DWORD dwMaxLength,
   DWORD dwFlags = 0) throw();

inline BOOL AtlEscapeUrl(
   LPCWSTR szStringIn,
   LPWSTR szStringOut,
   DWORD* pdwStrLen,
   DWORD dwMaxLength,
   DWORD dwFlags = 0) throw();

Parametri

lpszStringIn
URL da convertire.

lpszStringOut
Buffer allocato dal chiamante in cui verrà scritto l'URL convertito.

pdwStrLen
Puntatore a una variabile DWORD. Se la funzione ha esito positivo, pdwStrLen riceve il numero di caratteri scritti nel buffer, incluso il carattere null di terminazione. Se la funzione ha esito negativo, la variabile riceve la lunghezza richiesta in byte del buffer, incluso lo spazio per il carattere Null di terminazione. Quando si usa la versione a caratteri wide di questo metodo, pdwStrLen riceve il numero di caratteri necessari, non il numero di byte.

dwMaxLength
Dimensioni del buffer lpszStringOut.

dwFlags
ATL_URL flag che controllano il comportamento di questa funzione. Per i valori possibili, vedere ATLCanonicalizeUrl .

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

AtlGetDefaultUrlPort

Chiamare questa funzione per ottenere il numero di porta predefinito associato a uno schema o a un protocollo Internet specifico.

inline ATL_URL_PORT AtlGetDefaultUrlPort(ATL_URL_SCHEME m_nScheme) throw();

Parametri

m_nScheme
Valore ATL_URL_SCHEME che identifica lo schema per il quale si desidera ottenere il numero di porta.

Valore restituito

Il ATL_URL_PORT associato allo schema specificato o ATL_URL_INVALID_PORT_NUMBER se lo schema non viene riconosciuto.

AtlIsUnsafeUrlChar

Chiamare questa funzione per verificare se un carattere può essere utilizzato in sicurezza in un URL.

inline BOOL AtlIsUnsafeUrlChar(char chIn) throw();

Parametri

mento
Carattere da testare per la sicurezza.

Valore restituito

Restituisce TRUE se il carattere di input non è sicuro, FALSE in caso contrario.

Osservazioni:

I caratteri che non devono essere usati negli URL possono essere testati usando questa funzione e convertiti usando AtlCanonicalizeUrl.

AtlUnescapeUrl

Chiamare questa funzione per convertire i caratteri di escape nei relativi valori originali.

inline BOOL AtlUnescapeUrl(
   LPCSTR szStringIn,
   LPSTR szStringOut,
   LPDWORD pdwStrLen,
   DWORD dwMaxLength) throw();

inline BOOL AtlUnescapeUrl(
   LPCWSTR szStringIn,
   LPWSTR szStringOut,
   LPDWORD pdwStrLen,
   DWORD dwMaxLength) throw();

Parametri

lpszStringIn
URL da convertire.

lpszStringOut
Buffer allocato dal chiamante in cui verrà scritto l'URL convertito.

pdwStrLen
Puntatore a una variabile DWORD. Se la funzione ha esito positivo, la variabile riceve il numero di caratteri scritti nel buffer, incluso il carattere Null di terminazione. Se la funzione ha esito negativo, la variabile riceve la lunghezza richiesta in byte del buffer, incluso lo spazio per il carattere Null di terminazione.

dwMaxLength
Dimensioni del buffer lpszStringOut.

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Inverte il processo di conversione applicato da AtlEscapeUrl.

RGBToHtml

Converte un valore COLORREF nel testo HTML corrispondente a tale valore di colore.

bool inline RGBToHtml(
   COLORREF color,
   LPTSTR pbOut,
   long nBuffer);

Parametri

color
Valore di colore RGB.

pbOut
Buffer allocato dal chiamante per ricevere il testo per il valore del colore HTML. Il buffer deve avere spazio per almeno 8 caratteri, incluso lo spazio per il carattere di terminazione Null.

nBuffer
Dimensione in byte del buffer (incluso lo spazio per il carattere di terminazione Null).

Valore restituito

Restituisce TRUE in caso di esito positivo, FALSE in caso di errore.

Osservazioni:

Un valore di colore HTML è un segno di cancelletto seguito da un valore esadecimale a 6 cifre usando 2 cifre per ognuno dei componenti rosso, verde e blu del colore (ad esempio, #FFFFFF è bianco).

SystemTimeToHttpDate

Chiamare questa funzione per convertire l'ora di sistema in una stringa in un formato appropriato da utilizzare nelle intestazioni HTTP.

inline void SystemTimeToHttpDate(
   const SYSTEMTIME& st,
   CStringA& strTime);

Parametri

San
Ora di sistema da ottenere come stringa di formato HTTP.

strTime
Riferimento a una variabile stringa per ricevere l'ora di data HTTP definita in RFC 2616 (https://www.ietf.org/rfc/rfc2616.txt) e RFC 1123 (https://www.ietf.org/rfc/rfc1123.txt).

Vedi anche

Concetti
Componenti Desktop COM ATL
InternetCanonicalizeUrl