使用InternetCrackUrl分解url

  1. void CrackUrl()  
  2. {  
  3.     URL_COMPONENTS uc;  
  4.     char Scheme[1000];  
  5.     char HostName[1000];  
  6.     char UserName[1000];  
  7.     char Password[1000];  
  8.     char UrlPath[1000];  
  9.     char ExtraInfo[1000];  
  10.   
  11.     uc.dwStructSize = sizeof(uc);  
  12.     uc.lpszScheme = Scheme;  
  13.     uc.lpszHostName = HostName;  
  14.     uc.lpszUserName = UserName;  
  15.     uc.lpszPassword = Password;  
  16.     uc.lpszUrlPath = UrlPath;  
  17.     uc.lpszExtraInfo = ExtraInfo;  
  18.   
  19.     uc.dwSchemeLength = 1000;  
  20.     uc.dwHostNameLength = 1000;  
  21.     uc.dwUserNameLength = 1000;  
  22.     uc.dwPasswordLength = 1000;  
  23.     uc.dwUrlPathLength = 1000;  
  24.     uc.dwExtraInfoLength = 1000;  
  25.   
  26.     InternetCrackUrl("http://hoge:[email protected]:8080/masapico/api_sample.index", 0, 0, &uc);  
  27.   
  28.     printf("scheme: '%s'\n", uc.lpszScheme);  
  29.     printf("host name: '%s'\n", uc.lpszHostName);  
  30.     printf("port: %d\n", uc.nPort);  
  31.     printf("user name: '%s'\n", uc.lpszUserName);  
  32.     printf("password: '%s'\n", uc.lpszPassword);  
  33.     printf("url path: '%s'\n", uc.lpszUrlPath);  
  34.     printf("extra info: '%s'\n", uc.lpszExtraInfo);  
  35.   
  36.     printf("scheme type: ");  
  37.     switch(uc.nScheme)  
  38.     {  
  39.     case INTERNET_SCHEME_PARTIAL:  
  40.         printf("partial.\n");  
  41.         break;  
  42.     case INTERNET_SCHEME_UNKNOWN:  
  43.         printf("unknown.\n");  
  44.         break;  
  45.     case INTERNET_SCHEME_DEFAULT:  
  46.         printf("default.\n");  
  47.         break;  
  48.     case INTERNET_SCHEME_FTP:  
  49.         printf("FTP.\n");  
  50.         break;  
  51.     case INTERNET_SCHEME_GOPHER:  
  52.         printf("GOPHER.\n");  
  53.         break;  
  54.     case INTERNET_SCHEME_HTTP:  
  55.         printf("HTTP.\n");  
  56.         break;  
  57.     case INTERNET_SCHEME_HTTPS:  
  58.         printf("HTTPS.\n");  
  59.         break;  
  60.     case INTERNET_SCHEME_FILE:  
  61.         printf("FILE.\n");  
  62.         break;  
  63.     case INTERNET_SCHEME_NEWS:  
  64.         printf("NEWS.\n");  
  65.         break;  
  66.     case INTERNET_SCHEME_MAILTO:  
  67.         printf("MAILTO.\n");  
  68.         break;  
  69.     default:  
  70.         printf("%d\n", uc.nScheme);  
  71.     }  
  72. }  

你可能感兴趣的:(使用InternetCrackUrl分解url)