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");
    }

     

  • 相关阅读:
    深入比特币原理(四)——锁定脚本(locking script)与解锁脚本(unlocking script)
    深入比特币原理(三)——交易的输入(input)与输出(output)
    深入比特币原理(二)——比特币密钥地址生成
    [JLOI2013]删除物品
    [POI2007]MEG-Megalopolis
    [HNOI2008]遥远的行星
    [JSOI2008]最大数maxnumber
    [HNOI2008]水平可见直线
    [JSOI2008]星球大战starwar
    [HNOI2008]越狱
  • 原文地址:https://www.cnblogs.com/tupx/p/3469794.html
Copyright © 2011-2022 走看看