写了一段取回网页内容的代码,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++的代码呢?
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++的代码呢?
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 ();
要用本机MFC还是很简单的,看看MSDN的CHttpConnection类以及其它CHttp...开头的类。
MFC的不会.
Win32下可以用WinHttp或XMLHttp,代码都差不多.
查下MSDN应该就会写了.
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好像不管用。高手有办法吗?