36 lines
1.3 KiB
C++
36 lines
1.3 KiB
C++
#ifndef NET_UTIL__H_
|
|
#define NET_UTIL__H_
|
|
|
|
#ifdef _WIN32
|
|
#pragma once
|
|
#endif
|
|
|
|
|
|
bool IsIpString(const char * psz);
|
|
void ConvertHexStrIP(char * pszDst, unsigned long nS_Addr);
|
|
void RestoreDotIP(char * pszDst, const char * pszSrc);
|
|
bool IsInsideIp(const char * pszIpRange, const char * pszIp);
|
|
|
|
bool IsDomainName(const char * pszName);
|
|
bool IsHostName(const char * pszName);
|
|
|
|
void ExtractDomainName(char * pszDest, const char * pszHostName); // pszHostName : hostname or hostname:port
|
|
const char * GetDomainNamePtr(const char * pszHostName); // pszHostName : without port - hostname(o), hostname:port(x)
|
|
const char * GetRequestUriPtr(const char * pszUrl);
|
|
|
|
bool ExtractHostNameFromUrl(HString * pstrHostName, const char * pszUrl);
|
|
|
|
const char * GetNextLevelHostName(const char * pszHostName, bool bIncludeDot); // www.aaa.bbb.ccc.com -> aaa.bbb.ccc.com or .aaa.bbb.ccc.com
|
|
|
|
|
|
int EncodeURIComponent(char * pszDst, const char * pszSrc);
|
|
int DecodeURIComponent(char * pszDst, char * pszSrc);
|
|
|
|
int EncodeBase64(std::string * pstrEncoded, const unsigned char * pszSrc, unsigned int nSrcLen);
|
|
int DecodeBase64(std::string * pstrDecoded, const unsigned char * pszSrc, unsigned int nSrcLen);
|
|
|
|
void DecodeUriBase64(HString & strDst, const HString & strSrc);
|
|
void DecodeUriBase64(HString & strSelf);
|
|
|
|
#endif // NET_UTIL__H_
|