使用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:henyo@www.cool.ne.jp: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. }  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值