#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_