• C++ 获取网页源码码的操作


    #include <stdio.h>
    #include <windows.h>
    #include <wininet.h>
    #pragma comment(lib,"Wininet.lib")
    #include <vector>
    using namespace std;
    int _tmain(int argc, _TCHAR* argv[])
    {
    vector<TCHAR> v;
    TCHAR szUrl[] = _T("http://www.95server.com/");
    TCHAR szAgent[] = _T("");
    HINTERNET hInternet1 =
    InternetOpen(NULL,INTERNET_OPEN_TYPE_PRECONFIG,NULL,NULL,NULL);
    if (NULL == hInternet1)
    {
    InternetCloseHandle(hInternet1);
    printf("%s ","NULL == hInternet1");
    return FALSE;
    }
    HINTERNET hInternet2 =
    InternetOpenUrl(hInternet1,szUrl,NULL,NULL,INTERNET_FLAG_NO_CACHE_WRITE,NULL);
    if (NULL == hInternet2)
    {
    InternetCloseHandle(hInternet2);
    InternetCloseHandle(hInternet1);
    printf("%s ","NULL == hInternet2");
    return FALSE;
    }
    DWORD dwMaxDataLength = 500;
    PBYTE pBuf = (PBYTE)malloc(dwMaxDataLength*sizeof(TCHAR));
    if (NULL == pBuf)
    {
    InternetCloseHandle(hInternet2);
    InternetCloseHandle(hInternet1);
    printf("%s ","NULL == pBuf");
    return FALSE;
    }
    DWORD dwReadDataLength = NULL;
    BOOL bRet = TRUE;
    do
    {
    ZeroMemory(pBuf,dwMaxDataLength*sizeof(TCHAR));
    bRet = InternetReadFile(hInternet2,pBuf,dwMaxDataLength,&dwReadDataLength);
    for (DWORD dw = 0;dw < dwReadDataLength;dw++)
    {
    v.push_back(pBuf[dw]);
    }
    } while (NULL != dwReadDataLength);
    vector<TCHAR>::iterator i;
    for(i=v.begin(); i!=v.end(); i++)
    printf("%c",*i);
    return 0;
    }

  • 相关阅读:
    8. Java 异常
    9. GUI编程
    生成验证码
    使用response实现文件的下载
    关于小程序的几个坑
    关于redux应用
    关于修改react的启动端口
    react 坑总结
    关于小程序的一些坑的总结
    微信开发者工具 跨域问题
  • 原文地址:https://www.cnblogs.com/minggeqiuzhi/p/3900700.html
Copyright © 2020-2023  润新知