none
如何获取网页文件的大小 socket RRS feed

  • 问题

  • 如题 如何编写c程序获取某个网页的大小啊,不是指尺寸大小,是那个网页的大小。

    比如让我输入 www.sina.com.cn 得到结果218KB 这样子  

    肯定不是下载了,下载就好办了,是用socket去bind那个网页,然后得到相关的信息。

    谢谢大家了 希望可以详细些 有实例最好了 谢谢

    2011年4月12日 9:31

答案

  • #include <afxinet.h>
     
    try
     {
      CInternetSession session(_T("session"));
      CHttpFile* pFile = (CHttpFile*)session.OpenURL(_T("http://www.sina.com.cn"));
      DWORD dwStatus = 0;
      CString strText;
      if(pFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, strText))
      {
       AfxMessageBox(strText);
      }
      pFile->Close();
      session.Close();
     }
     catch(CException* e)
     {
      e->ReportError();
      e->Delete();
     }


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年4月12日 11:24
    版主
  • 用TCP socket连接那个网页,然后用GET指令获取http头部,里面有Content-Length字段,就是网页大小了
    0xBAADF00D
    2011年4月13日 2:37
    版主

全部回复

  • #include <afxinet.h>
     
    try
     {
      CInternetSession session(_T("session"));
      CHttpFile* pFile = (CHttpFile*)session.OpenURL(_T("http://www.sina.com.cn"));
      DWORD dwStatus = 0;
      CString strText;
      if(pFile->QueryInfo(HTTP_QUERY_CONTENT_LENGTH, strText))
      {
       AfxMessageBox(strText);
      }
      pFile->Close();
      session.Close();
     }
     catch(CException* e)
     {
      e->ReportError();
      e->Delete();
     }


    Visual C++ enthusiast, like network programming and driver development. At present is being engaged in the WinCE/Windows Mobile platform embedded development.
    2011年4月12日 11:24
    版主
  • 用TCP socket连接那个网页,然后用GET指令获取http头部,里面有Content-Length字段,就是网页大小了
    0xBAADF00D
    2011年4月13日 2:37
    版主