zoukankan      html  css  js  c++  java
  • InternetCrackUrl

    #include <WinInet.h>
    #pragma  comment(lib,"wininet.lib")
    
    using namespace std;
    void CrackUrl()
    {
    #define  MAX_LEN 100
        URL_COMPONENTS uc;
        WCHAR Scheme[MAX_LEN];
        WCHAR HostName[MAX_LEN];
        WCHAR UserName[MAX_LEN];
        WCHAR Password[MAX_LEN];
        WCHAR UrlPath[MAX_LEN];
        WCHAR ExtraInfo[MAX_LEN];
    
        uc.dwStructSize = sizeof(uc);
        uc.lpszScheme = Scheme;
        uc.lpszHostName = HostName;
        uc.lpszUserName = UserName;
        uc.lpszPassword = Password;
        uc.lpszUrlPath = UrlPath;
        uc.lpszExtraInfo = ExtraInfo;
    
        uc.dwSchemeLength = MAX_LEN;
        uc.dwHostNameLength = MAX_LEN;
        uc.dwUserNameLength = MAX_LEN;
        uc.dwPasswordLength = MAX_LEN;
        uc.dwUrlPathLength = MAX_LEN;
        uc.dwExtraInfoLength = MAX_LEN;
    
        InternetCrackUrl(L"http://hoge:henyo@www.cool.ne.jp:8080/masapico/api_sample.index", 0, 0, &uc);
    
        wcout<<L"scheme:"<<uc.lpszScheme<<endl;
        wcout<<L"host name: "<<uc.lpszHostName<<endl;
        printf("port: %d
    ", uc.nPort);
        wcout<<L"user name: "<<uc.lpszUserName<<endl;
        wcout<<L"password: "<<uc.lpszPassword<<endl;
        wcout<<L"url path: "<<uc.lpszUrlPath<<endl;
        wcout<<L"extra info: "<<uc.lpszExtraInfo<<endl;
    
        printf("scheme type: ");
        switch(uc.nScheme)
        {
        case INTERNET_SCHEME_PARTIAL:
            printf("partial.
    ");
            break;
        case INTERNET_SCHEME_UNKNOWN:
            printf("unknown.
    ");
            break;
        case INTERNET_SCHEME_DEFAULT:
            printf("default.
    ");
            break;
        case INTERNET_SCHEME_FTP:
            printf("FTP.
    ");
            break;
        case INTERNET_SCHEME_GOPHER:
            printf("GOPHER.
    ");
            break;
        case INTERNET_SCHEME_HTTP:
            printf("HTTP.
    ");
            break;
        case INTERNET_SCHEME_HTTPS:
            printf("HTTPS.
    ");
            break;
        case INTERNET_SCHEME_FILE:
            printf("FILE.
    ");
            break;
        case INTERNET_SCHEME_NEWS:
            printf("NEWS.
    ");
            break;
        case INTERNET_SCHEME_MAILTO:
            printf("MAILTO.
    ");
            break;
        default:
            printf("%d
    ", uc.nScheme);
        }
    }
    
    void main()
    {
        CrackUrl();
    
        system("pause");
    }

     

  • 相关阅读:
    bisect in Python
    1385. 两个数组间的距离值
    面试题 04.08. 首个共同祖先
    Python关键字yield
    1237. 找出给定方程的正整数解
    响应式文字
    java环境变量设置
    小 div在大 div中左右上下居中
    清除浮动
    jQuery 图片等比缩放
  • 原文地址:https://www.cnblogs.com/tupx/p/3469794.html
Copyright © 2011-2022 走看看