写了一段取回网页内容的代码,C#做的,想改为MFC的C++,请既通C#又精C++的高手帮助!C#代码很简单:using system.net
using system.net.socket
……WebrRquest wrq=WebrRquest.Create("http://123.127.134.30");
WebResponse wrp=wrq.GetResponse();
Stream s=wrp.GetResponseStream();
StreamReader r=new StreamReader(s,Encoding.Default);
string StrGetNet=r.ReadToEnd();其中的StrGetNet就是取回的网页内容.
在.NET的2.0框架下调试通过.
如何改为C++的代码呢?

解决方案 »

  1.   

    using namespace System::Net;
    using namespace System::Net::Socket;
    ...WebRequest^ wrq = WebRequest::Create ("http://123.127.134.30");
    WebResponse^ wrp = wrq->GetResponse();
    Stream^ s = wrp->GetResponseStream();
    StreamReader^ r = gcnew StreamReader (s,Encoding::Default);
    String^StrGetNet = r->ReadToEnd ();
      

  2.   

    是C++ BUILDER吗?要纯MFC代码.
      

  3.   

    1楼是基于托管的代码。
    要用本机MFC还是很简单的,看看MSDN的CHttpConnection类以及其它CHttp...开头的类。 
      

  4.   

    囧...
    MFC的不会.
    Win32下可以用WinHttp或XMLHttp,代码都差不多.
    查下MSDN应该就会写了.
      

  5.   

    搜索网页中是否包含某字符串的代码已基本实现,主要代码如下:
    CInternetSession mySession;
    CHttpFile* myHttpFile=NULL;
    CString MyData;
    Cstring strXMLReturn;
    LPCSTR url="http://12.12.12.12";myHttpFile=(CHttpFile*)mySession.OpenURL(url,1);for(int i=0;i<200;i++){
    if(myHttpFile->ReadString(MyData)==NULL)
    {
    break;
    }
    else{
    strXMLReturn+=MyData;
    }myHttpFile->Close();
    delete []myHttpFile;
    mySession.Close();CString includeStr=IncludeString;
    if(strXMLReturn).Find(includeStr)){
    //在网页中发现了找到了该字符串
    }
    现在的问题是:myHttpFile=(CHttpFile*)mySession.OpenURL(url,1);这一句在url不存在或无法访问的情况下,程序将弹出一个错误框提示:无法打开服务器,也就是网页无法访问。是否有办法让系统不弹出这个网页?使用try catch好像不管用。高手有办法吗?